View | Details | Raw Unified | Return to bug 127570
Collapse All | Expand All

(-)components/html-editor/popup.c (-2 / +38 lines)
Lines 292-297 spell_check_cb (GtkWidget *mi, GtkHTMLCo 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;
Lines 372-378 insert_html (GtkWidget *mi, GtkHTMLContr 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++; \
Lines 534-540 prepare_properties_and_menu (GtkHTMLCont 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;

Return to bug 127570