[evolution-patches] Updated Patch for Bug 46351



Hi, York

     Attached is the reduced and updated patch for Bug 46351 (the original version will modify nearly 100 LOCs, while this new version only affects 20 LOCs ).
     Thank you for your earnest review on it and  much help to me, which improves the quality of the patch !

     Cheers,

   Carl Sun
Index: ChangeLog
===================================================================
RCS file: /export/src/cvs/evolution/calendar/ChangeLog,v
retrieving revision 1.6
diff -u -r1.6 ChangeLog
--- ChangeLog	2003/10/20 09:20:34	1.6
+++ ChangeLog	2003/12/05 03:31:37
@@ -1,3 +1,10 @@
+2003-11-11 Carl Sun <carl sun sun com>
+                                                                                
+        Fixes #46351
+                                                                                
+        * gui/e-timezone-entry.c  (e_timezone_entry_mnemonic_activate): 
+          new function. override the  member function of GtkWidget to handle  
+          mnemonic_activate signal of custom class ETimezoneEntry. 
 
 -----------------tag A11Y_M2--------------
 
Index: ./gui/e-timezone-entry.c
===================================================================
RCS file: /export/src/cvs/evolution/calendar/gui/e-timezone-entry.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 e-timezone-entry.c
--- ./gui/e-timezone-entry.c	2003/09/26 06:34:29	1.1.1.1
+++ ./gui/e-timezone-entry.c	2003/12/05 03:31:37
@@ -69,6 +69,8 @@
 static void e_timezone_entry_init	(ETimezoneEntry	*tentry);
 static void e_timezone_entry_destroy	(GtkObject	*object);
 
+static gboolean e_timezone_entry_mnemonic_activate (GtkWidget *widget,
+                                                    gboolean   group_cycling);
 static void on_entry_changed		(GtkEntry	*entry,
 					 ETimezoneEntry *tentry);
 static void on_button_clicked		(GtkWidget	*widget,
@@ -92,6 +94,9 @@
 
 	parent_class = g_type_class_peek_parent (class);
 
+	GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class) ;
+	widget_class->mnemonic_activate = e_timezone_entry_mnemonic_activate;
+
 	timezone_entry_signals[CHANGED] =
 		gtk_signal_new ("changed",
 				GTK_RUN_LAST,
@@ -158,6 +163,8 @@
 
 	tentry = g_object_new (e_timezone_entry_get_type (), NULL);
 
+	GTK_WIDGET_SET_FLAGS (GTK_WIDGET(tentry), GTK_CAN_FOCUS);
+
 	return GTK_WIDGET (tentry);
 }
 
@@ -297,3 +304,18 @@
 	g_free (name_buffer);
 }
 
+
+static gboolean
+e_timezone_entry_mnemonic_activate (GtkWidget *widget,
+                                    gboolean   group_cycling)
+{
+	GtkButton *button = NULL;
+
+	if (GTK_WIDGET_CAN_FOCUS (widget)) {
+		button=((ETimezoneEntryPrivate*) ((ETimezoneEntry*) widget)->priv)->button;
+		if (button != NULL)
+			gtk_widget_grab_focus (button);
+	}
+
+	return TRUE;
+}


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