[gtkhtml] Add signal "spell-languages-changed"
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkhtml] Add signal "spell-languages-changed"
- Date: Wed, 9 May 2012 17:47:52 +0000 (UTC)
commit 113a55231cc35aff8d5a8501c3821ffdd43d2aba
Author: Milan Crha <mcrha redhat com>
Date: Wed May 9 19:46:50 2012 +0200
Add signal "spell-languages-changed"
Emitted when user changes list of languages for spelling
components/editor/gtkhtml-editor-actions.c | 2 +
components/editor/gtkhtml-editor-private.h | 2 +
components/editor/gtkhtml-editor.c | 40 ++++++++++++++++++++++++++++
3 files changed, 44 insertions(+), 0 deletions(-)
---
diff --git a/components/editor/gtkhtml-editor-actions.c b/components/editor/gtkhtml-editor-actions.c
index f01676a..b2f3b82 100644
--- a/components/editor/gtkhtml-editor-actions.c
+++ b/components/editor/gtkhtml-editor-actions.c
@@ -798,6 +798,8 @@ action_language_cb (GtkToggleAction *action,
html = gtkhtml_editor_get_html (editor);
html_engine_spell_check (html->engine);
+
+ gtkthtml_editor_emit_spell_languages_changed (editor);
}
static void
diff --git a/components/editor/gtkhtml-editor-private.h b/components/editor/gtkhtml-editor-private.h
index 62502ee..edf0999 100644
--- a/components/editor/gtkhtml-editor-private.h
+++ b/components/editor/gtkhtml-editor-private.h
@@ -210,6 +210,8 @@ void gtkhtml_editor_spell_check (GtkhtmlEditor *editor,
gboolean gtkhtml_editor_next_spell_error (GtkhtmlEditor *editor);
gboolean gtkhtml_editor_prev_spell_error (GtkhtmlEditor *editor);
void gtkhtml_editor_update_context (GtkhtmlEditor *editor);
+void gtkthtml_editor_emit_spell_languages_changed
+ (GtkhtmlEditor *editor);
G_END_DECLS
diff --git a/components/editor/gtkhtml-editor.c b/components/editor/gtkhtml-editor.c
index 1611ce2..902baf9 100644
--- a/components/editor/gtkhtml-editor.c
+++ b/components/editor/gtkhtml-editor.c
@@ -42,6 +42,7 @@ enum {
LINK_CLICKED,
OBJECT_DELETED,
URI_REQUESTED,
+ SPELL_LANGUAGES_CHANGED,
LAST_SIGNAL
};
@@ -938,6 +939,16 @@ editor_class_init (GtkhtmlEditorClass *class)
G_TYPE_NONE, 2,
G_TYPE_STRING,
G_TYPE_POINTER);
+
+ signals[SPELL_LANGUAGES_CHANGED] = g_signal_new (
+ "spell-languages-changed",
+ G_OBJECT_CLASS_TYPE (class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__POINTER,
+ G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
}
static void
@@ -1730,3 +1741,32 @@ gtkhtml_editor_drop_undo (GtkhtmlEditor *editor)
gtk_html_drop_undo (html);
}
+
+void
+gtkthtml_editor_emit_spell_languages_changed (GtkhtmlEditor *editor)
+{
+ GList *languages, *iter;
+
+ g_return_if_fail (editor != NULL);
+
+ languages = NULL;
+ for (iter = editor->priv->active_spell_checkers; iter; iter = g_list_next (iter)) {
+ const GtkhtmlSpellLanguage *language;
+ GtkhtmlSpellChecker *checker = iter->data;
+
+ if (!checker)
+ continue;
+
+ language = gtkhtml_spell_checker_get_language (checker);
+ if (!language)
+ continue;
+
+ languages = g_list_prepend (languages, (gpointer) language);
+ }
+
+ languages = g_list_reverse (languages);
+
+ g_signal_emit (editor, signals[SPELL_LANGUAGES_CHANGED], 0, languages);
+
+ g_list_free (languages);
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]