Hiroyuki Ikezoe
ikezo****@users*****
2006年 11月 24日 (金) 09:38:02 JST
Index: libtomoe-gtk/src/tomoe-reading-search.c diff -u libtomoe-gtk/src/tomoe-reading-search.c:1.3 libtomoe-gtk/src/tomoe-reading-search.c:1.4 --- libtomoe-gtk/src/tomoe-reading-search.c:1.3 Thu Nov 23 16:05:07 2006 +++ libtomoe-gtk/src/tomoe-reading-search.c Fri Nov 24 09:38:02 2006 @@ -202,7 +202,7 @@ reading_text = gtk_entry_get_text (GTK_ENTRY (priv->input)); #warning FIXME! there is no ui for selection of on-reading or kun-reading. - reading = tomoe_reading_new (TOMOE_READING_ON, reading_text); + reading = tomoe_reading_new (TOMOE_READING_KUN, reading_text); query = tomoe_query_new (); tomoe_query_add_reading (query, reading); result = tomoe_context_search (priv->context, query); @@ -210,17 +210,15 @@ g_object_unref (reading); for (list = result; list; list = g_list_next (list)) { - TomoeChar *chr = TOMOE_CHAR (list->data); - gchar **str_array; - gchar *strokes_text; - gchar *readings_text; - int strokes = 0; - int j, reading_num; + TomoeCandidate *cand = TOMOE_CANDIDATE (list->data); + TomoeChar *c = tomoe_candidate_get_character (cand); + const GList *readings = tomoe_char_get_readings (c); + gchar *strokes_text, *readings_text; + gint strokes = 0; GtkTreeIter iter; - const GList *readings = tomoe_char_get_readings (chr); - if (tomoe_char_get_writing (chr)) - strokes = tomoe_writing_get_number_of_strokes (tomoe_char_get_writing (chr)); + if (tomoe_char_get_writing (c)) + strokes = tomoe_writing_get_number_of_strokes (tomoe_char_get_writing (c)); if (strokes > 0) strokes_text = g_strdup_printf ("%d", strokes); @@ -228,13 +226,14 @@ strokes_text = g_strdup ("?"); if (readings) { - const GList *l; + gchar **str_array; + guint reading_num, i; reading_num = g_list_length ((GList *) readings); str_array = g_new0 (gchar *, reading_num + 1); str_array[reading_num] = NULL; - for (l = readings, j = 0; l; l = g_list_next (l), j++) { - TomoeReading *reading = TOMOE_READING (list->data); - str_array[j] = (gchar *) tomoe_reading_get_reading (reading); + for (i = 0; i < reading_num; i++) { + TomoeReading *reading = TOMOE_READING (g_list_nth_data (readings, i)); + str_array[i] = (gchar *) tomoe_reading_get_reading (reading); } readings_text = g_strjoinv (" ", str_array); g_free (str_array); @@ -243,7 +242,7 @@ } gtk_list_store_append (priv->result_store, &iter); gtk_list_store_set (priv->result_store, &iter, - CHAR_COLUMN, tomoe_char_get_code (chr), + CHAR_COLUMN, tomoe_char_get_code (c), STROKECOUNT_COLUMN, strokes_text, READING_COLUMN, readings_text, -1);