Mailing List Archive

r19526 - in projects/haf/trunk/gtk+: . gtk
Author: kalikiana
Date: 2009-11-27 12:35:00 +0200 (Fri, 27 Nov 2009)
New Revision: 19526

Modified:
projects/haf/trunk/gtk+/ChangeLog
projects/haf/trunk/gtk+/gtk/gtkentry.c
Log:
2009-11-27 Christian Dywan <christian@lanedo.com>

Fixes: NB#146722 - [Arabic] Contacts doesnt support calls if the number
is in Hindu-Arabic in Rover

* gtk/gtkentry.c (hildon_gtk_input_mode_is_valid_char),
(gtk_entry_filter_text): Convert unicode numbers outside of ASCII to ASCII
and don't regard them as valid.

Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog 2009-11-27 10:34:46 UTC (rev 19525)
+++ projects/haf/trunk/gtk+/ChangeLog 2009-11-27 10:35:00 UTC (rev 19526)
@@ -1,3 +1,12 @@
+2009-11-27 Christian Dywan <christian@lanedo.com>
+
+ Fixes: NB#146722 - [Arabic] Contacts doesnt support calls if the number
+ is in Hindu-Arabic in Rover
+
+ * gtk/gtkentry.c (hildon_gtk_input_mode_is_valid_char),
+ (gtk_entry_filter_text): Convert unicode numbers outside of ASCII to ASCII
+ and don't regard them as valid.
+
2009-11-18 Christian Dywan <christian@lanedo.com>

* gtk/Makefile.am:

Modified: projects/haf/trunk/gtk+/gtk/gtkentry.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkentry.c 2009-11-27 10:34:46 UTC (rev 19525)
+++ projects/haf/trunk/gtk+/gtk/gtkentry.c 2009-11-27 10:35:00 UTC (rev 19526)
@@ -2923,8 +2923,9 @@
* design might change, so for now we'll keep this here.
*/
static gboolean
-hildon_gtk_input_mode_is_valid_char (HildonGtkInputMode mode,
- gunichar chr)
+hildon_gtk_input_mode_is_valid_char (HildonGtkInputMode mode,
+ gunichar chr,
+ gunichar *chr_)
{
static const char *tele_chars_ascii = "p#*+";

@@ -2940,7 +2941,12 @@
if ((mode & (HILDON_GTK_INPUT_MODE_NUMERIC |
HILDON_GTK_INPUT_MODE_HEXA |
HILDON_GTK_INPUT_MODE_TELE)) != 0)
- return TRUE;
+ {
+ gchar* number = g_strdup_printf ("%d", g_unichar_digit_value (chr));
+ *chr_ = g_utf8_get_char (number);
+ g_free (number);
+ return chr == *chr_;
+ }
}
else
{
@@ -2984,13 +2990,17 @@
{
gboolean valid = TRUE;
GString *result = g_string_sized_new (nbytes);
+
while(length)
{
gunichar chr = g_utf8_get_char (str);
+ gunichar chr_ = chr;
+ gboolean valid_char;

- if (hildon_gtk_input_mode_is_valid_char (input_mode, chr))
- g_string_append_unichar (result, chr);
- else
+ valid_char = hildon_gtk_input_mode_is_valid_char (input_mode, chr, &chr_);
+ if (valid_char || chr != chr_)
+ g_string_append_unichar (result, chr_);
+ if (!valid_char)
valid = FALSE;

str = g_utf8_next_char (str);
@@ -3005,7 +3015,7 @@
{
gunichar chr = g_utf8_get_char (str);

- if (!hildon_gtk_input_mode_is_valid_char (input_mode, chr))
+ if (!hildon_gtk_input_mode_is_valid_char (input_mode, chr, &chr))
return FALSE;

str = g_utf8_next_char (str);

_______________________________________________
maemo-commits mailing list
maemo-commits@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-commits