Mercurial > pidgin.yaz
annotate pidgin/win32/wspell.c @ 29998:140990e07e01
We're not going to support aspell dictionaries on Windows anymore.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Mon, 15 Mar 2010 22:00:43 +0000 |
parents | b248178bc7b0 |
children | 3d045343e04d |
rev | line source |
---|---|
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1 /* |
15871
66dff3dfdea6
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents:
15823
diff
changeset
|
2 * pidgin |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4 * File: wspell.c |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5 * Date: March, 2003 |
29922
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
6 * Description: Windows Pidgin gtkspell interface. |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
7 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
8 * Copyright (C) 2002-2003, Herman Bloggs <hermanator12002@yahoo.com> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
9 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
10 * This program is free software; you can redistribute it and/or modify |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
11 * it under the terms of the GNU General Public License as published by |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
12 * the Free Software Foundation; either version 2 of the License, or |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
13 * (at your option) any later version. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
14 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
15 * This program is distributed in the hope that it will be useful, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
18 * GNU General Public License for more details. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
19 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
20 * You should have received a copy of the GNU General Public License |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
21 * along with this program; if not, write to the Free Software |
19680
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
17021
diff
changeset
|
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
23 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
24 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
25 #include <windows.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
26 #include <string.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
27 #include <stdlib.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
28 #include <glib.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
29 #include <gtk/gtk.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
30 #include <gtkspell/gtkspell.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 #include "debug.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
32 #include "win32dep.h" |
15638
026f9c6cc942
winpidgin warning fixes
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15501
diff
changeset
|
33 #include "wspell.h" |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
34 |
29922
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
35 /* Intermediate function so that we can eat Enchant error popups when it doesn't find a DLL |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
36 * This is fixed upstream, but not released */ |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
37 GtkSpell* (*wpidginspell_new_attach_proxy) (GtkTextView *, |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
38 const gchar *, |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
39 GError **) = NULL; |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
40 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
41 /* GTKSPELL DUMMY FUNCS */ |
29922
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
42 static GtkSpell* wgtkspell_new_attach(GtkTextView *view, const gchar *lang, GError **error) { |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
43 GtkSpell *ret = NULL; |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
44 if (wpidginspell_new_attach_proxy) { |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
45 UINT old_error_mode = SetErrorMode(SEM_FAILCRITICALERRORS); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
46 ret = wpidginspell_new_attach_proxy(view, lang, error); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
47 SetErrorMode(old_error_mode); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
48 } |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
49 return ret; |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
50 } |
15638
026f9c6cc942
winpidgin warning fixes
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15501
diff
changeset
|
51 static GtkSpell* wgtkspell_get_from_text_view(GtkTextView *view) {return NULL;} |
026f9c6cc942
winpidgin warning fixes
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15501
diff
changeset
|
52 static void wgtkspell_detach(GtkSpell *spell) {} |
026f9c6cc942
winpidgin warning fixes
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15501
diff
changeset
|
53 static gboolean wgtkspell_set_language(GtkSpell *spell, const gchar *lang, GError **error) {return FALSE;} |
026f9c6cc942
winpidgin warning fixes
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15501
diff
changeset
|
54 static void wgtkspell_recheck_all(GtkSpell *spell) {} |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
55 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
56 /* GTKSPELL PROTOS */ |
15501
d75099d2567e
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents:
15374
diff
changeset
|
57 GtkSpell* (*wpidginspell_new_attach) (GtkTextView *, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
58 const gchar *, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
59 GError **) = wgtkspell_new_attach; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
60 |
15501
d75099d2567e
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents:
15374
diff
changeset
|
61 GtkSpell* (*wpidginspell_get_from_text_view) (GtkTextView*) = wgtkspell_get_from_text_view; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
62 |
15501
d75099d2567e
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents:
15374
diff
changeset
|
63 void (*wpidginspell_detach) (GtkSpell*) = wgtkspell_detach; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
64 |
15501
d75099d2567e
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents:
15374
diff
changeset
|
65 gboolean (*wpidginspell_set_language) (GtkSpell*, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
66 const gchar*, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
67 GError**) = wgtkspell_set_language; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
68 |
15501
d75099d2567e
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents:
15374
diff
changeset
|
69 void (*wpidginspell_recheck_all) (GtkSpell*) = wgtkspell_recheck_all; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
70 |
29922
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
71 #define GTKSPELL_DLL "libgtkspell-0.dll" |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
72 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
73 static void load_gtkspell() { |
29922
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
74 UINT old_error_mode = SetErrorMode(SEM_FAILCRITICALERRORS); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
75 gchar *tmp, *tmp2; |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
76 const char *path = g_getenv("PATH"); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
77 tmp = g_build_filename(wpurple_install_dir(), "spellcheck", NULL); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
78 tmp2 = g_strdup_printf("%s%s%s", (path ? path : ""), |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
79 (path ? G_SEARCHPATH_SEPARATOR_S : ""), |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
80 tmp); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
81 g_free(tmp); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
82 g_setenv("PATH", tmp2, TRUE); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
83 |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
84 /* Suppress error popups */ |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
85 wpidginspell_new_attach_proxy = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_new_attach" ); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
86 if (wpidginspell_new_attach_proxy) { |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
87 wpidginspell_get_from_text_view = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_get_from_text_view"); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
88 wpidginspell_detach = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_detach"); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
89 wpidginspell_set_language = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_set_language"); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
90 wpidginspell_recheck_all = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_recheck_all"); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
91 } else { |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
92 purple_debug_warning("wspell", "Couldn't load gtkspell (%s) \n", GTKSPELL_DLL); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
93 /*wpidginspell_new_attach = wgtkspell_new_attach;*/ |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
94 } |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
95 SetErrorMode(old_error_mode); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
96 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
97 |
29922
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
98 void winpidgin_spell_init() { |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
99 load_gtkspell(); |
b248178bc7b0
Upgrade GtkSpell to 2.0.16 on Windows. The installer needs a bunch more work, but that is for later
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19680
diff
changeset
|
100 } |