[gucharmap] Revert unintentional API/ABI break
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gucharmap] Revert unintentional API/ABI break
- Date: Fri, 17 Feb 2012 16:57:52 +0000 (UTC)
commit adb912e4e09a9909737f18f79c371761ac3cfe9f
Author: Christian Persch <chpe gnome org>
Date: Fri Feb 17 17:55:24 2012 +0100
Revert unintentional API/ABI break
gucharmap/gucharmap-chapters-view.c | 7 ++++++
gucharmap/gucharmap-chapters-view.h | 2 +
gucharmap/gucharmap-unicode-info.c | 38 +++++++++++++++++++++++++++++++++++
gucharmap/gucharmap-unicode-info.h | 3 ++
4 files changed, 50 insertions(+), 0 deletions(-)
---
diff --git a/gucharmap/gucharmap-chapters-view.c b/gucharmap/gucharmap-chapters-view.c
index 8fddcd1..dfdd091 100644
--- a/gucharmap/gucharmap-chapters-view.c
+++ b/gucharmap/gucharmap-chapters-view.c
@@ -297,3 +297,10 @@ gucharmap_chapters_view_get_book_codepoint_list (GucharmapChaptersView *view)
return gucharmap_chapters_model_get_book_codepoint_list (priv->model);
}
+
+gboolean
+gucharmap_chapters_view_select_locale (GucharmapChaptersView *view)
+{
+ return gucharmap_chapters_view_select_character (view,
+ gucharmap_unicode_get_locale_character ());
+}
diff --git a/gucharmap/gucharmap-chapters-view.h b/gucharmap/gucharmap-chapters-view.h
index 7e8160c..b80b41a 100644
--- a/gucharmap/gucharmap-chapters-view.h
+++ b/gucharmap/gucharmap-chapters-view.h
@@ -75,6 +75,8 @@ gchar * gucharmap_chapters_view_get_selected (GucharmapChaptersView
gboolean gucharmap_chapters_view_set_selected (GucharmapChaptersView *view,
const gchar *name);
+gboolean gucharmap_chapters_view_select_locale (GucharmapChaptersView *view);
+
G_END_DECLS
#endif /* #ifndef GUCHARMAP_CHAPTERS_VIEW_H */
diff --git a/gucharmap/gucharmap-unicode-info.c b/gucharmap/gucharmap-unicode-info.c
index c633837..edfeead 100644
--- a/gucharmap/gucharmap-unicode-info.c
+++ b/gucharmap/gucharmap-unicode-info.c
@@ -649,3 +649,41 @@ gucharmap_unichar_isgraph (gunichar uc)
&& t != G_UNICODE_SURROGATE
&& t != G_UNICODE_SPACE_SEPARATOR);
}
+
+static gunichar
+get_first_non_underscore_char (const char *str)
+{
+ const char *p;
+
+ if (!str)
+ return 0;
+
+ for (p = str; p && *p; p = g_utf8_find_next_char (p, NULL))
+ {
+ gunichar ch;
+
+ ch = g_utf8_get_char (p);
+ if (g_unichar_isalpha (ch))
+ return ch;
+ }
+
+ return 0;
+}
+
+/**
+ * gucharmap_unicode_get_locale_character:
+ *
+ * Determines a character that's commonly used in the current
+ * locale's script.
+ *
+ * Returns: a unicode character
+ */
+gunichar
+gucharmap_unicode_get_locale_character (void)
+{
+ GtkStockItem item;
+ if (!gtk_stock_lookup (GTK_STOCK_FIND, &item))
+ return 0;
+
+ return get_first_non_underscore_char (item.label);
+}
diff --git a/gucharmap/gucharmap-unicode-info.h b/gucharmap/gucharmap-unicode-info.h
index a9e8644..1dbc818 100644
--- a/gucharmap/gucharmap-unicode-info.h
+++ b/gucharmap/gucharmap-unicode-info.h
@@ -79,6 +79,9 @@ G_CONST_RETURN gchar * gucharmap_unicode_get_script_for_char (gunichar wc);
G_CONST_RETURN gchar * gucharmap_unicode_version_to_string (GucharmapUnicodeVersion version);
+/* doesn't really belong here, but no better place was available */
+gunichar gucharmap_unicode_get_locale_character (void);
+
G_END_DECLS
#endif /* #ifndef GUCHARMAP_UNICODE_INFO_H */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]