cvs server: Diffing .
Index: htmlevent.c
===================================================================
RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/view/htmlevent.c,v
retrieving revision 1.39
diff -u -p -r1.39 htmlevent.c
--- htmlevent.c	2002/03/03 14:39:10	1.39
+++ htmlevent.c	2002/03/06 13:19:28
@@ -360,6 +360,25 @@ html_event_mouse_move (HtmlView *view, G
 	}
 }
 
+void
+html_event_activate (HtmlView *view)
+{
+	DomNode *node;
+	gchar *href_prop;
+
+	if (view->document && view->document->focus_element) {
+		node = DOM_NODE (view->document->focus_element);
+
+		if ((href_prop = get_href (node))) {
+
+			g_signal_emit_by_name (view->document, 
+					       "link_clicked", 
+					       href_prop);
+			xmlFree (href_prop);
+		}
+	}
+}
+
 gboolean
 html_event_key_press (HtmlView *view, GdkEventKey *event)
 {
Index: htmlevent.h
===================================================================
RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/view/htmlevent.h,v
retrieving revision 1.12
diff -u -p -r1.12 htmlevent.h
--- htmlevent.h	2001/08/05 11:45:30	1.12
+++ htmlevent.h	2002/03/06 13:19:28
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 void     html_event_mouse_move     (HtmlView *view, GdkEventMotion *event);
 void     html_event_button_press   (HtmlView *view, GdkEventButton *button);
 void     html_event_button_release (HtmlView *view, GdkEventButton *event);
+void     html_event_activate       (HtmlView *view);
 gboolean html_event_key_press      (HtmlView *view, GdkEventKey *event);
 
 HtmlBox *html_event_find_root_box (HtmlBox *self, gint x, gint y);
Index: htmlview.c
===================================================================
RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/view/htmlview.c,v
retrieving revision 1.130
diff -u -p -r1.130 htmlview.c
--- htmlview.c	2002/03/03 14:39:10	1.130
+++ htmlview.c	2002/03/06 13:19:29
@@ -57,6 +57,7 @@ enum {
 	MOVE_CURSOR,
 	REQUEST_OBJECT,
 	ON_URL,
+	ACTIVATE,
 	LAST_SIGNAL
 };
 
@@ -837,6 +838,12 @@ html_view_real_move_cursor (HtmlView *ht
 }
 
 static void
+html_view_real_activate (HtmlView *view)
+{
+	html_event_activate (view);
+}
+
+static void
 html_view_add_move_binding (GtkBindingSet *binding_set, guint keyval, guint modmask, GtkMovementStep step, gint count)
 {
 	gtk_binding_entry_add_signal (binding_set, keyval, modmask,
@@ -1014,6 +1021,7 @@ html_view_class_init (HtmlViewClass *kla
 	container_class->set_focus_child = html_view_set_focus_child;
 	
 	klass->move_cursor = html_view_real_move_cursor;
+	klass->activate = html_view_real_activate;
 	
 	view_signals [MOVE_CURSOR] =
 		g_signal_new ("move_cursor",
@@ -1048,12 +1056,24 @@ html_view_class_init (HtmlViewClass *kla
 			      1,
 			      G_TYPE_STRING);
 
+	view_signals [ACTIVATE] =
+		g_signal_new ("ACTIVATE",
+			      G_TYPE_FROM_CLASS (object_class),
+			      G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+			      G_STRUCT_OFFSET (HtmlViewClass, activate),
+			      NULL, NULL,
+			      html_marshal_VOID__VOID,
+			      G_TYPE_NONE, 0);
+	widget_class->activate_signal = view_signals[ACTIVATE];
+
 	html_view_add_move_binding (binding_set, GDK_Page_Down, 0,
 				    GTK_MOVEMENT_PAGES, 1);
 	html_view_add_move_binding (binding_set, GDK_Page_Up, 0,
 				    GTK_MOVEMENT_PAGES, -1);
+#if 0
 	html_view_add_move_binding (binding_set, GDK_space, 0,
 				    GTK_MOVEMENT_PAGES, 1);
+#endif
 	html_view_add_move_binding (binding_set, GDK_Home, 0,
 				    GTK_MOVEMENT_BUFFER_ENDS, -1);
 	html_view_add_move_binding (binding_set, GDK_End, 0,
Index: htmlview.h
===================================================================
RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/view/htmlview.h,v
retrieving revision 1.43
diff -u -p -r1.43 htmlview.h
--- htmlview.h	2002/01/14 12:08:27	1.43
+++ htmlview.h	2002/03/06 13:19:29
@@ -94,6 +94,7 @@ struct _HtmlViewClass {
 
 	gboolean (* request_object) (HtmlView *html_view, HtmlEmbedded *widget);
 	void (*on_url) (HtmlView *html_view, const gchar *url);
+	void (*activate) (HtmlView *html_view);
 };
 
 GType html_view_get_type (void);
