|
Link Here
|
| 292 |
} |
292 |
} |
| 293 |
|
293 |
|
| 294 |
static void |
294 |
static void |
|
|
295 |
replace_suggestion_cb (GtkWidget *mi, GtkHTMLControlData *cd) |
| 296 |
{ |
| 297 |
html_engine_replace_spell_word_with (cd->html->engine, g_object_get_data (G_OBJECT (mi), "rep_word")); |
| 298 |
} |
| 299 |
|
| 300 |
static void |
| 295 |
spell_add (GtkWidget *mi, GtkHTMLControlData *cd) |
301 |
spell_add (GtkWidget *mi, GtkHTMLControlData *cd) |
| 296 |
{ |
302 |
{ |
| 297 |
HTMLEngine *e = cd->html->engine; |
303 |
HTMLEngine *e = cd->html->engine; |
|
Link Here
|
| 372 |
(*props) ++; |
378 |
(*props) ++; |
| 373 |
|
379 |
|
| 374 |
#define SUBMENU(l) \ |
380 |
#define SUBMENU(l) \ |
| 375 |
menuitem = gtk_menu_item_new_with_label (l); \ |
381 |
menuitem = gtk_menu_item_new_with_mnemonic (l); \ |
| 376 |
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); \ |
382 |
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); \ |
| 377 |
gtk_widget_show (menuitem); \ |
383 |
gtk_widget_show (menuitem); \ |
| 378 |
(*items)++; items_sep++; \ |
384 |
(*items)++; items_sep++; \ |
|
Link Here
|
| 534 |
if (!active && obj && html_object_is_text (obj) |
540 |
if (!active && obj && html_object_is_text (obj) |
| 535 |
&& !html_engine_spell_word_is_valid (e)) { |
541 |
&& !html_engine_spell_word_is_valid (e)) { |
| 536 |
ADD_SEP; |
542 |
ADD_SEP; |
| 537 |
ADD_ITEM (_("Check Word Spelling..."), spell_check_cb, NONE); |
543 |
if (get_n_languages (cd) >= 1) { |
|
|
544 |
gchar *word; |
| 545 |
gint i, j, k ; |
| 546 |
GNOME_Spell_StringSeq* seq; |
| 547 |
CORBA_Environment ev; |
| 548 |
|
| 549 |
for (i = 0; i < cd->languages->_length; i ++) { |
| 550 |
if (strstr (html_engine_get_language (cd->html->engine), cd->languages->_buffer [i].abbreviation)) { |
| 551 |
word = html_engine_get_spell_word (cd->html->engine); |
| 552 |
CORBA_exception_init (&ev); |
| 553 |
seq = GNOME_Spell_Dictionary_getSuggestions(cd->dict, word, &ev); |
| 554 |
CORBA_exception_free (&ev); |
| 555 |
g_free (word); |
| 556 |
SUBMENU (cd->languages->_buffer [i].name); |
| 557 |
k = seq->_length/10; |
| 558 |
for (j = 0; j < seq->_length; j+=2) { |
| 559 |
if (!strcmp (cd->languages->_buffer[i].abbreviation, (char *)seq->_buffer[j+1])) { |
| 560 |
ADD_ITEM ((gchar *)seq->_buffer[j], replace_suggestion_cb, NONE); |
| 561 |
g_object_set_data_full (G_OBJECT (menuitem), "rep_word", (gchar *)g_strdup(seq->_buffer[j]), g_free); |
| 562 |
} |
| 563 |
} |
| 564 |
END_SUBMENU; |
| 565 |
} |
| 566 |
|
| 567 |
if (CORBA_sequence_get_release(seq)) |
| 568 |
CORBA_free (seq); |
| 569 |
|
| 570 |
} |
| 571 |
|
| 572 |
} |
| 573 |
ADD_SEP; |
| 538 |
ADD_ITEM (_("Ignore Misspelled Word"), spell_ignore, NONE); |
574 |
ADD_ITEM (_("Ignore Misspelled Word"), spell_ignore, NONE); |
| 539 |
if (get_n_languages (cd) > 1) { |
575 |
if (get_n_languages (cd) > 1) { |
| 540 |
gchar *lang; |
576 |
gchar *lang; |