[gspell/wip/inline-checker: 3/3] Move gspell_text_view_get_inline_checker() in inline-checker-text
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gspell/wip/inline-checker: 3/3] Move gspell_text_view_get_inline_checker() in inline-checker-text
- Date: Thu, 7 Jan 2016 12:34:25 +0000 (UTC)
commit 51273f3df015a2a429832bb4d95b427aabe86b34
Author: Sébastien Wilmet <swilmet gnome org>
Date: Thu Jan 7 13:31:57 2016 +0100
Move gspell_text_view_get_inline_checker() in inline-checker-text
It simplifies the code.
gspell/Makefile.am | 6 +--
gspell/gspell-inline-checker-text.c | 33 ++++++++++++++++++--
gspell/gspell-inline-checker-text.h | 8 ++---
gspell/gspell-text-view.c | 56 -----------------------------------
gspell/gspell-text-view.h | 35 ----------------------
gspell/gspell.h | 1 -
po/POTFILES.in | 1 -
7 files changed, 34 insertions(+), 106 deletions(-)
---
diff --git a/gspell/Makefile.am b/gspell/Makefile.am
index 31f21c4..2178ee4 100644
--- a/gspell/Makefile.am
+++ b/gspell/Makefile.am
@@ -26,8 +26,7 @@ gspell_public_headers = \
gspell-language-chooser-dialog.h \
gspell-navigator.h \
gspell-navigator-gtv.h \
- gspell-text-buffer.h \
- gspell-text-view.h
+ gspell-text-buffer.h
gspell_public_c_files = \
gspell-checker.c \
@@ -39,8 +38,7 @@ gspell_public_c_files = \
gspell-language-chooser-dialog.c \
gspell-navigator.c \
gspell-navigator-gtv.c \
- gspell-text-buffer.c \
- gspell-text-view.c
+ gspell-text-buffer.c
gspell_private_headers = \
gconstructor.h \
diff --git a/gspell/gspell-inline-checker-text.c b/gspell/gspell-inline-checker-text.c
index 8a35280..907c3f5 100644
--- a/gspell/gspell-inline-checker-text.c
+++ b/gspell/gspell-inline-checker-text.c
@@ -58,6 +58,8 @@ enum
PROP_ENABLED,
};
+#define INLINE_CHECKER_KEY "gspell-inline-checker-text-key"
+
G_DEFINE_TYPE_WITH_PRIVATE (GspellInlineCheckerText, gspell_inline_checker_text, G_TYPE_OBJECT)
static void
@@ -252,14 +254,37 @@ gspell_inline_checker_text_init (GspellInlineCheckerText *inline_checker)
{
}
+/**
+ * gspell_text_view_get_inline_checker:
+ * @view: a #GtkTextView.
+ *
+ * Returns the #GspellInlineCheckerText of @view. The returned object is
+ * guaranteed to be the same for the lifetime of @view.
+ *
+ * Returns: (transfer none): the #GspellInlineCheckerText of @view.
+ */
GspellInlineCheckerText *
-_gspell_inline_checker_text_new (GtkTextView *view)
+gspell_text_view_get_inline_checker (GtkTextView *view)
{
+ GspellInlineCheckerText *inline_checker;
+
g_return_val_if_fail (GTK_IS_TEXT_VIEW (view), NULL);
- return g_object_new (GSPELL_TYPE_INLINE_CHECKER_TEXT,
- "view", view,
- NULL);
+ inline_checker = g_object_get_data (G_OBJECT (view), INLINE_CHECKER_KEY);
+
+ if (inline_checker == NULL)
+ {
+ inline_checker = g_object_new (GSPELL_TYPE_INLINE_CHECKER_TEXT,
+ "view", view,
+ NULL);
+
+ g_object_set_data_full (G_OBJECT (view),
+ INLINE_CHECKER_KEY,
+ inline_checker,
+ g_object_unref);
+ }
+
+ return inline_checker;
}
/**
diff --git a/gspell/gspell-inline-checker-text.h b/gspell/gspell-inline-checker-text.h
index a9035a9..4acca07 100644
--- a/gspell/gspell-inline-checker-text.h
+++ b/gspell/gspell-inline-checker-text.h
@@ -41,16 +41,14 @@ struct _GspellInlineCheckerTextClass
gpointer padding[8];
};
+GspellInlineCheckerText *
+ gspell_text_view_get_inline_checker (GtkTextView *view);
+
void gspell_inline_checker_text_set_enabled (GspellInlineCheckerText *inline_checker,
gboolean enabled);
gboolean gspell_inline_checker_text_get_enabled (GspellInlineCheckerText *inline_checker);
-/* Private functions */
-G_GNUC_INTERNAL
-GspellInlineCheckerText *
- _gspell_inline_checker_text_new (GtkTextView *view);
-
G_END_DECLS
#endif /* __GSPELL_INLINE_CHECKER_TEXT_H__ */
diff --git a/gspell/gspell.h b/gspell/gspell.h
index 08acd1e..b635a81 100644
--- a/gspell/gspell.h
+++ b/gspell/gspell.h
@@ -32,7 +32,6 @@
#include <gspell/gspell-navigator.h>
#include <gspell/gspell-navigator-gtv.h>
#include <gspell/gspell-text-buffer.h>
-#include <gspell/gspell-text-view.h>
#undef __GSPELL_H_INSIDE__
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 86b44c5..656133b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -12,7 +12,6 @@ gspell/gspell-navigator.c
gspell/gspell-navigator-gtv.c
gspell/gspell-osx.c
gspell/gspell-text-buffer.c
-gspell/gspell-text-view.c
gspell/gspell-utils.c
gspell/resources/checker-dialog.ui
gspell/resources/language-dialog.ui
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]