SF.net SVN: geany-plugins:[256] trunk/spellcheck
eht16 at users.sourceforge.net
eht16 at xxxxx
Wed Oct 29 18:48:17 UTC 2008
Revision: 256
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=256&view=rev
Author: eht16
Date: 2008-10-29 18:48:17 +0000 (Wed, 29 Oct 2008)
Log Message:
-----------
Improve the auto-detection of the user's language (handle locales like 'de_DE.UTF-8' correctly).
Modified Paths:
--------------
trunk/spellcheck/ChangeLog
trunk/spellcheck/src/scplugin.c
trunk/spellcheck/src/speller.c
trunk/spellcheck/src/speller.h
Modified: trunk/spellcheck/ChangeLog
===================================================================
--- trunk/spellcheck/ChangeLog 2008-10-26 14:37:23 UTC (rev 255)
+++ trunk/spellcheck/ChangeLog 2008-10-29 18:48:17 UTC (rev 256)
@@ -1,3 +1,10 @@
+2008-10-29 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+
+ * src/speller.c, src/speller.h, src/scplugin.c:
+ Improve the auto-detection of the user's language (handle locales
+ like 'de_DE.UTF-8' correctly).
+
+
2008-10-25 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/speller.c:
Modified: trunk/spellcheck/src/scplugin.c
===================================================================
--- trunk/spellcheck/src/scplugin.c 2008-10-26 14:37:23 UTC (rev 255)
+++ trunk/spellcheck/src/scplugin.c 2008-10-29 18:48:17 UTC (rev 256)
@@ -184,7 +184,9 @@
GtkWidget *sp_item;
GKeyFile *config = g_key_file_new();
guint i;
+ gchar *default_lang;
+ default_lang = speller_get_default_lang();
sc = g_new0(SpellCheck, 1);
sc->config_file = g_strconcat(geany->app->configdir, G_DIR_SEPARATOR_S, "plugins", G_DIR_SEPARATOR_S,
@@ -192,13 +194,14 @@
g_key_file_load_from_file(config, sc->config_file, G_KEY_FILE_NONE, NULL);
sc->default_language = p_utils->get_setting_string(config,
- "spellcheck", "language", speller_get_default_lang());
+ "spellcheck", "language", default_lang);
sc->check_while_typing = p_utils->get_setting_boolean(config,
"spellcheck", "check_while_typing", FALSE);
sc->show_toolbar_item = p_utils->get_setting_boolean(config,
"spellcheck", "show_toolbar_item", TRUE);
sc->use_msgwin = p_utils->get_setting_boolean(config, "spellcheck", "use_msgwin", FALSE);
g_key_file_free(config);
+ g_free(default_lang);
locale_init();
Modified: trunk/spellcheck/src/speller.c
===================================================================
--- trunk/spellcheck/src/speller.c 2008-10-26 14:37:23 UTC (rev 255)
+++ trunk/spellcheck/src/speller.c 2008-10-29 18:48:17 UTC (rev 256)
@@ -269,18 +269,26 @@
}
-const gchar *speller_get_default_lang(void)
+gchar *speller_get_default_lang(void)
{
const gchar *lang = g_getenv("LANG");
+ gchar *result = NULL;
+
if (NZV(lang))
{
- if (g_ascii_strncasecmp(lang, "C", 1) == 0)
+ if (*lang == 'C' || *lang == 'c')
lang = "en";
+ else
+ { /* if we have something like de_DE.UTF-8, strip everything from the period to the end */
+ gchar *period = strchr(lang, '.');
+ if (period != NULL)
+ result = g_strndup(lang, g_utf8_pointer_to_offset(lang, period));
+ }
}
else
lang = "en";
- return lang;
+ return (result != NULL) ? result : g_strdup(lang);
}
Modified: trunk/spellcheck/src/speller.h
===================================================================
--- trunk/spellcheck/src/speller.h 2008-10-26 14:37:23 UTC (rev 255)
+++ trunk/spellcheck/src/speller.h 2008-10-29 18:48:17 UTC (rev 256)
@@ -33,7 +33,7 @@
void speller_reinit_enchant_dict(void);
-const gchar *speller_get_default_lang(void);
+gchar *speller_get_default_lang(void);
void speller_dict_free_string_list(gchar **tmp_suggs);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list