aboutsummaryrefslogtreecommitdiffstats
path: root/packages/gpe-contacts/gpe-contacts-0.32/filtered-paste.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gpe-contacts/gpe-contacts-0.32/filtered-paste.patch')
-rw-r--r--packages/gpe-contacts/gpe-contacts-0.32/filtered-paste.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/packages/gpe-contacts/gpe-contacts-0.32/filtered-paste.patch b/packages/gpe-contacts/gpe-contacts-0.32/filtered-paste.patch
index e69de29bb2..4b1e70dadb 100644
--- a/packages/gpe-contacts/gpe-contacts-0.32/filtered-paste.patch
+++ b/packages/gpe-contacts/gpe-contacts-0.32/filtered-paste.patch
@@ -0,0 +1,51 @@
+Index: editing.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-contacts/editing.c,v
+retrieving revision 1.59
+diff -u -r1.59 editing.c
+--- editing.c 20 Oct 2004 14:00:36 -0000 1.59
++++ editing.c 24 Oct 2004 22:32:43 -0000
+@@ -46,17 +46,23 @@
+ void on_name_clicked (GtkButton *button, gpointer user_data);
+
+
+-
+ /* this is the filter for phone number edits */
+-static gboolean
+-phone_key_press_event (GtkWidget *widget, GdkEventKey *k, gpointer p)
++void
++on_phone_insert_text(GtkEditable *editable, gchar *new_text,
++ gint new_text_length, gint *position,
++ gpointer user_data)
+ {
+- if (!strstr(" +0123456789-/()", k->string)
+- && !(k->state & GDK_CONTROL_MASK))
+- {
+- return TRUE;
+- }
+- return FALSE;
++ int i;
++ gboolean isok = TRUE;
++
++ for (i = 0; i < new_text_length; i++)
++ if (!strchr(" +0123456789-/()", new_text[i]))
++ {
++ isok = FALSE;
++ break;
++ }
++ if (!isok)
++ gtk_signal_emit_stop_by_name(GTK_OBJECT(editable), "insert-text");
+ }
+
+ static void
+@@ -91,8 +97,8 @@
+ || strstr(e->tag,".MOBILE")
+ || strstr(e->tag,".FAX"))
+ {
+- g_signal_connect (G_OBJECT (w), "key_press_event",
+- G_CALLBACK (phone_key_press_event), NULL);
++ g_signal_connect (G_OBJECT (w), "insert-text",
++ G_CALLBACK (on_phone_insert_text), NULL);
+ }
+ if (strcasecmp(e->tag, "NAME")) /* the name field on a button */
+ {