[evolution-patches] patch for Contacts (was:addressbook) bug #41826 -- need review -- resent



Hi, Chris
 
 Please review the patch for   bug #41826 --   Minicard view can't be focused with keyboard.


Thanks 
Gilbert 
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/ChangeLog,v
retrieving revision 1.1390
diff -u -r1.1390 ChangeLog
--- ChangeLog	28 Apr 2003 08:36:36 -0000	1.1390
+++ ChangeLog	21 May 2003 07:11:39 -0000
@@ -1,3 +1,11 @@
+2003-05-21  Gilbert Fang <gilbert fang sun com>
+
+	[ fixes bug #41826 ]
+	* gui/widgets/e-minicard-view-widget.c 
+	(e_minicard_view_widget_real_focus_in_event): new function, 
+	override the event handler for focus_in_event, set the first item
+	be focused if no focused item at all.
+
 2003-04-28  Chris Toshok  <toshok ximian com>
 
 	[ fixes bug #41779 ]
Index: gui/widgets/e-minicard-view-widget.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/widgets/e-minicard-view-widget.c,v
retrieving revision 1.29
diff -u -r1.29 e-minicard-view-widget.c
--- gui/widgets/e-minicard-view-widget.c	8 Apr 2003 04:44:57 -0000	1.29
+++ gui/widgets/e-minicard-view-widget.c	21 May 2003 07:11:40 -0000
@@ -38,6 +38,7 @@
 static void e_minicard_view_widget_size_allocate (GtkWidget *widget, GtkAllocation *allocation);
 static void e_minicard_view_widget_style_set     (GtkWidget *widget, GtkStyle *previous_style);
 static void e_minicard_view_widget_realize       (GtkWidget *widget);
+static gboolean e_minicard_view_widget_real_focus_in_event (GtkWidget *widget, GdkEventFocus *event);
 
 static ECanvasClass *parent_class = NULL;
 
@@ -158,12 +159,32 @@
 	widget_class->style_set     = e_minicard_view_widget_style_set;
 	widget_class->realize       = e_minicard_view_widget_realize;
 	widget_class->size_allocate = e_minicard_view_widget_size_allocate;
+	widget_class->focus_in_event = e_minicard_view_widget_real_focus_in_event;
 
 	canvas_class->reflow        = e_minicard_view_widget_reflow;
 
 	klass->selection_change     = NULL;
 	klass->column_width_changed = NULL;
 	klass->right_click          = NULL;
+
+}
+
+static gboolean 
+e_minicard_view_widget_real_focus_in_event(GtkWidget *widget, GdkEventFocus *event)
+{
+	GnomeCanvas *canvas;
+	EMinicardViewWidget *view;
+
+	canvas = GNOME_CANVAS (widget);
+	view = E_MINICARD_VIEW_WIDGET(widget);
+
+	if (!canvas->focused_item) {
+		if ((E_REFLOW(view->emv))->items ) {
+			canvas->focused_item =(E_REFLOW(view->emv))->items[0];
+		}
+	}
+
+	return GTK_WIDGET_CLASS(parent_class)->focus_in_event (widget, event);
 }
 
 static void


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