merged GNU_aspell_branch
This commit is contained in:
parent
ea048c0b47
commit
1535fa78e6
19 changed files with 1177 additions and 1222 deletions
|
@ -1,3 +1,33 @@
|
|||
2002-08-28 [melvin] 0.8.2claws3
|
||||
|
||||
Merged the GNU_aspell_branch:
|
||||
Support of new GNU/aspell is now included and the old pspell
|
||||
is not supported anymore.
|
||||
See README.claws
|
||||
|
||||
* README.claws
|
||||
Updated spell checker text to reflect the switch to GNU/aspell
|
||||
|
||||
* ac/aspell.m4 *** NEW ***
|
||||
* src/gtkaspell.[ch] *** NEW ***
|
||||
* ac/pspell.m4 *** DELETED ***
|
||||
* src/gtkspell.[ch] *** DELETED ***
|
||||
|
||||
* ac/Makefile.am
|
||||
Updated for GNU/aspell support
|
||||
|
||||
* po/POTFILES.in
|
||||
Replaced gtkspell.c by gtkaspell.c
|
||||
|
||||
* acconfig.h
|
||||
* src/Makefile.am
|
||||
* src/about.c
|
||||
* src/compose.[ch]
|
||||
* src/crash.c
|
||||
* src/main.c
|
||||
* src/prefs_common.[ch]
|
||||
Updated for GNU/aspell support
|
||||
|
||||
2002-08-28 [paul] 0.8.2claws2
|
||||
|
||||
* sync with 0.8.2cvs4
|
||||
|
|
109
README.claws
109
README.claws
|
@ -49,7 +49,7 @@ Sylpheed or Main.
|
|||
-------------------------------
|
||||
|
||||
From the user perspective Claws is just a fancy Sylpheed, so it uses the
|
||||
same sylpheed setting files located in ~/.sylpheed.
|
||||
same Sylpheed setting files located in ~/.sylpheed.
|
||||
|
||||
It's always a good idea to back up all files in ~/.sylpheed in case
|
||||
you want to switch back to Sylpheed. (You don't have to backup the
|
||||
|
@ -61,7 +61,7 @@ Sylpheed or Main.
|
|||
* Why does the advanced filtering system not work?
|
||||
|
||||
Claws uses the new filtering system as soon as you define a new rule for it.
|
||||
Your old sylpheed filter rules will not be used. In subdirectory tools/ of
|
||||
Your old Sylpheed filter rules will not be used. In subdirectory tools/ of
|
||||
the distribution there is a Perl script called filter_conv.pl which converts
|
||||
old filter rules to the claws filtering system.
|
||||
|
||||
|
@ -285,71 +285,59 @@ are hardly noticeable, but deserve mentioning:
|
|||
a. Requirements
|
||||
---------------
|
||||
|
||||
The spell checker in sylpheed requires the Portable Spell Checker
|
||||
Interface Library pspell (http://pspell.sourceforge.net), version
|
||||
0.12.2 or newer.
|
||||
The spell checker in sylpheed requires the new GNU/aspell library
|
||||
(http://www.gnu.org/software/aspell), version 0.50 or newer.
|
||||
|
||||
You will need also the actual spell checker. There are two alternatives:
|
||||
|
||||
i) ispell (http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html),
|
||||
which is found on quasi every distribution. You have then to
|
||||
install the pspell-ispell module found at the pspell site.
|
||||
|
||||
ii) aspell (http://aspell.sourceforge.net). This spell checker
|
||||
must be installed after installing pspell. The version tested
|
||||
is .33.7 alpha. It has three different suggestion modes (fast
|
||||
-default- , normal, bad spellers), has the ability to learn
|
||||
from mistakes (default).
|
||||
|
||||
And, last but not least, do not forget to install the dictionaries. Check
|
||||
the corresponding spell checker home page for more information on this.
|
||||
You also need the dictionaries. Check GNU/aspell home page for how
|
||||
to download and install them.
|
||||
|
||||
b. Configuring Sylpheed
|
||||
-----------------------
|
||||
|
||||
Spell checking is enabled if you configure sylpheed appropriately. Add
|
||||
the option '--enable-pspell' when configuring. E.g.:
|
||||
Spell checking is enabled if you configure Sylpheed appropriately. Add
|
||||
the option '--enable-aspell' when configuring. E.g.:
|
||||
|
||||
./configure --enable-pspell
|
||||
./configure --enable-aspell
|
||||
|
||||
The configure script needs 'pspell-config' in your path. If it is
|
||||
in weird places, use '--with-pspell-prefix' to tell the path to
|
||||
pspell-config. E.g., if pspell-config is really
|
||||
/foo/bar/pspell-config, then use:
|
||||
The configure script needs the 'aspell' executable to be in your path.
|
||||
If it is in unusual places, use '--with-aspell-prefix' to tell the path of
|
||||
the aspell executable. E.g., if aspell's full path is
|
||||
/foo/bar/bin/aspell, then use:
|
||||
|
||||
./configure --enable-pspell --with-pspell-prefix=/foo/bar
|
||||
./configure --enable-aspell --with-aspell-prefix=/foo/bar
|
||||
|
||||
If you have problems with not found includes or libraries, check
|
||||
first where these are located, and add either options:
|
||||
If ./configure cannot find the includes or libraries of aspell,
|
||||
check first where these are located, and add either following options:
|
||||
|
||||
--with-pspell-includes=/foo/bar/include
|
||||
--with-aspell-includes=/foo/bar/include
|
||||
|
||||
or
|
||||
|
||||
--with-pspell-libs=/foo/bar/lib
|
||||
--with-aspell-libs=/foo/bar/lib
|
||||
|
||||
as appropriate.
|
||||
|
||||
Configure script summarizes the options compiled in. Check that
|
||||
configure lists 'Pspell = yes'.
|
||||
The configure script summarizes the options compiled in. Check that
|
||||
it lists 'GNU/aspell = yes'.
|
||||
|
||||
Then proceed as usual, with 'make' and 'make install'.
|
||||
|
||||
c. Usage
|
||||
--------
|
||||
|
||||
NOTE: if you upgraded from 0.7.0claws, please reselect your default
|
||||
dictionary in the preferences.
|
||||
NOTE: if you upgraded from 0.8.1claws or earlier, please reselect
|
||||
your default dictionary in the preferences.
|
||||
|
||||
After successful compiling, you need to tell sylpheed where your
|
||||
dictionaries reside. First run 'pspell-config pkgdatadir' on the
|
||||
After successful compiling, you need to tell Sylpheed where your
|
||||
dictionaries reside. The configure script should have found it,
|
||||
but in case it did not, run 'aspell config dict-dir' on the
|
||||
shell to get their path.
|
||||
|
||||
Then run sylpheed and go to Configuration -> Common preferences ->
|
||||
Spell Checker. Check the box 'Enable spell checker (EXPERIMENTAL)' and
|
||||
Then run Sylpheed and go to Configuration -> Common preferences ->
|
||||
Spell Checker. Check the box 'Enable spell checker' and
|
||||
use the file selector ('...' button) to select the path where the
|
||||
dictionaries reside. Within the file selector, go to that directory
|
||||
and select *any* file in the file lists. Click ok. You should then
|
||||
and select *any* file in the file lists. Click OK. Then, you should
|
||||
be able to select your default dictionary.
|
||||
|
||||
When composing, misspelled words are highlighted. Click on any
|
||||
|
@ -360,20 +348,19 @@ are hardly noticeable, but deserve mentioning:
|
|||
it in this message. Selecting the next entry "Add to dictionary", which
|
||||
is bound to MOD1-Enter combination will add the unknown word to the
|
||||
dictionary to learn it. The next entries are the suggested words.
|
||||
The first 15 suggestions can be accessed typing one of the first letters
|
||||
The first 15 suggestions can be accessed by typing one of the first letters
|
||||
of Latin alphabet (if this does not suit your language, please send
|
||||
a mail to melvin.hadasht@free.fr). If you are using an aspell
|
||||
dictionary, you can use its 'learn from mistake' feature, by pressing
|
||||
the MOD1 key and selecting the suggestion (with the keyboard or with
|
||||
the mouse). See pspell manual §4.7.1 for an explanation of this
|
||||
feature.
|
||||
a mail to melvin.hadasht@free.fr). Aspell has a 'learn from mistake'
|
||||
function that can be used by pressing the MOD1 key and selecting the
|
||||
suggestion (with the keyboard or with the mouse). See GNU/aspell manual
|
||||
§6.3 for an explanation of this feature (also called 'replacement storing').
|
||||
|
||||
If you click with the right mouse button everywhere else, or if you
|
||||
shift-right-click even on a misspelled word, you get the
|
||||
configuration menu. 'Check all' highlights all misspelled words.
|
||||
With this menu, you can also change the dictionary while editing.
|
||||
Finally, you can change the suggestion mode, and the learn from
|
||||
misktakes feature (only when using an aspell dictionary).
|
||||
misktakes feature.
|
||||
|
||||
Spell checking can also be done using keyboard shortcuts. In the
|
||||
"Edit" menu of the compose window, there are two menus "Check backwards
|
||||
|
@ -393,33 +380,7 @@ are hardly noticeable, but deserve mentioning:
|
|||
d. Known problems
|
||||
-----------------
|
||||
|
||||
i) libtool
|
||||
|
||||
The only real known problems until now are configuration and
|
||||
compilation problems due to libtool interaction with pspell.
|
||||
|
||||
If you do not compile pspell/aspell/pspell-ispell yourself, you
|
||||
need to install them with their devel packages.
|
||||
|
||||
Pspell work with dynamic linking of libraries and thus uses the
|
||||
libltdl library of libtool. If you have weird problems when
|
||||
configuring showing 'libtool', chances are the libtool used when
|
||||
compiling the pspell package is not compatible with what you have
|
||||
on your system. The best solution, is to install the latest
|
||||
libtool AND compile yourself pspell package. I can't help more
|
||||
than that in this issue.
|
||||
|
||||
After successfully compiled and used sylpheed with spell checking,
|
||||
the same problem can appear if you upgrade your libtool to a
|
||||
version which libltdl is incompatible to your older one. The
|
||||
symptoms are a crash when starting to compose. Disabling spell
|
||||
checking avoids the problem. The solution should be to recompile pspell.
|
||||
|
||||
ii) New installed ispell dictionary are not detected
|
||||
|
||||
Installing a new ispell dictionary needs an additional step. Go
|
||||
to the 'pkgdatadir' and run 'make-ispell-pwli'. You may need to
|
||||
su root.
|
||||
No known problems as the time of this writing.
|
||||
|
||||
* simplify subject string
|
||||
-----------------------------------
|
||||
|
|
|
@ -2,7 +2,7 @@ MACROS = \
|
|||
aclocal-include.m4 \
|
||||
check-type.m4 \
|
||||
gnupg-check-typedef.m4 \
|
||||
pspell.m4
|
||||
aspell.m4
|
||||
|
||||
EXTRA_DIST = $(MACROS) \
|
||||
missing/gdk-pixbuf.m4 \
|
||||
|
|
144
ac/aspell.m4
Normal file
144
ac/aspell.m4
Normal file
|
@ -0,0 +1,144 @@
|
|||
dnl Autoconf macros for libaspell
|
||||
dnl $Id$
|
||||
|
||||
# Configure paths for ASPELL
|
||||
# Shamelessly stolen from the one of GPGME by Werner Koch
|
||||
# Melvin Hadasht 2001-09-17, 2002
|
||||
|
||||
dnl AM_PATH_ASPELL([MINIMUM-VERSION,
|
||||
dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
|
||||
dnl Test for aspell, and define ASPELL_CFLAGS and ASPELL_LIBS
|
||||
dnl
|
||||
AC_DEFUN(AM_PATH_ASPELL,
|
||||
[dnl
|
||||
dnl Get the cflags and libraries from the aspell-config script
|
||||
dnl
|
||||
AC_ARG_WITH(aspell-prefix,
|
||||
[ --with-aspell-prefix=PFX Prefix where aspell is installed (optional)],
|
||||
aspell_prefix="$withval", aspell_prefix="")
|
||||
AC_ARG_ENABLE(aspell-test,
|
||||
[ --disable-aspell-test Do not try to compile and run a test GNU/aspell program],
|
||||
, enable_aspelltest=yes)
|
||||
AC_ARG_WITH(aspell-libs,
|
||||
[ --with-aspell-libs=LIBS Where GNU/aspell library reside (/usr/local/lib)],
|
||||
aspell_libs="$withval", aspell_libs="")
|
||||
AC_ARG_WITH(aspell-includes,
|
||||
[ --with-aspell-includes=INCLUDES Where GNU/aspell headers reside (/usr/local/include)],
|
||||
aspell_includes="$withval", aspell_includes="")
|
||||
|
||||
if test x$aspell_prefix != x ; then
|
||||
if test x${ASPELL+set} != xset ; then
|
||||
ASPELL=$aspell_prefix/bin/aspell
|
||||
fi
|
||||
if test x$aspell_includes == x ; then
|
||||
aspell_includes=$aspell_prefix/include
|
||||
fi
|
||||
if test x$aspell_libs == x ; then
|
||||
aspell_libs=$aspell_prefix/lib
|
||||
fi
|
||||
fi
|
||||
if test x$aspell_includes == x ; then
|
||||
aspell_includes=/usr/local/include
|
||||
fi
|
||||
if test x$aspell_libs == x ; then
|
||||
aspell_libs=/usr/local/lib
|
||||
fi
|
||||
AC_PATH_PROG(ASPELL, aspell, no)
|
||||
min_aspell_version=ifelse([$1], ,.50,$1)
|
||||
AC_MSG_CHECKING(for GNU/aspell - version >= $min_aspell_version)
|
||||
no_aspell=""
|
||||
if test "$ASPELL" = "no" ; then
|
||||
no_aspell=yes
|
||||
else
|
||||
ASPELL_CFLAGS="-I$aspell_includes"
|
||||
ASPELL_LIBS="-L$aspell_libs -laspell"
|
||||
aspell_version=`$ASPELL version|sed -e "s/\(@(#) International Ispell Version 3.1.20 (but really Aspell \)\(.*\))/\2/"`
|
||||
if test "x$enable_aspelltest" = "xyes" ; then
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $ASPELL_CFLAGS"
|
||||
LIBS="$LIBS $ASPELL_LIBS"
|
||||
dnl
|
||||
dnl
|
||||
dnl
|
||||
rm -f conf.aspelltest
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <aspell.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
system ("touch conf.aspelltest");
|
||||
if(strcmp("$aspell_version","$min_aspell_version")<0){
|
||||
printf("no\n");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
],, no_aspell=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
if test "x$no_aspell" = x ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
if test -f conf.aspelltest ; then
|
||||
:
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
if test "$ASPELL" = "no" ; then
|
||||
echo "*** The aspell executable could not be found"
|
||||
echo "*** If aspell was installed in PREFIX, make sure PREFIX/bin is in"
|
||||
echo "*** your path, or set the ASPELL environment variable to the"
|
||||
echo "*** full path to aspell."
|
||||
else
|
||||
if test -f conf.aspelltest ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run aspell test program, checking why..."
|
||||
CFLAGS="$CFLAGS $ASPELL_CFLAGS"
|
||||
LIBS="$LIBS $ASPELL_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <aspell.h>
|
||||
], [ AspellConfig * aspellconfig= new_aspell_config(); return 0 ],
|
||||
[
|
||||
echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding GNU/aspell or finding the wrong"
|
||||
echo "*** version of GNU/aspell. If it is not finding GNU/aspell, you'll need to set"
|
||||
echo "*** your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||
echo "*** to the installed location Also, make sure you have run ldconfig if"
|
||||
echo "*** that is required on your system"
|
||||
echo "***"
|
||||
echo "*** If you have an old version installed, it is best to remove it,"
|
||||
echo "*** although you may also be able to get things to work by"
|
||||
echo "*** modifying LD_LIBRARY_PATH"
|
||||
echo "***"
|
||||
],
|
||||
[
|
||||
echo "*** The test program failed to compile or link. See the file config.log"
|
||||
echo "*** for the exact error that occured. This usually means GNU/aspell was"
|
||||
echo "*** incorrectly installed or that you have moved GNU/aspell since it was"
|
||||
echo "*** installed. "
|
||||
])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
ASPELL_CFLAGS=""
|
||||
ASPELL_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
AC_SUBST(ASPELL_CFLAGS)
|
||||
AC_SUBST(ASPELL_LIBS)
|
||||
rm -f conf.aspelltest
|
||||
])
|
||||
|
135
ac/pspell.m4
135
ac/pspell.m4
|
@ -1,135 +0,0 @@
|
|||
dnl Autoconf macros for libpspell
|
||||
dnl $Id$
|
||||
|
||||
# Configure paths for PSPELL
|
||||
# Shamelessly stolen from the one of GPGME by Werner Koch
|
||||
# Melvin Hadasht 2001-09-17
|
||||
|
||||
dnl AM_PATH_PSPELL([MINIMUM-VERSION,
|
||||
dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
|
||||
dnl Test for pspell, and define PSPELL_CFLAGS and PSPELL_LIBS
|
||||
dnl
|
||||
AC_DEFUN(AM_PATH_PSPELL,
|
||||
[dnl
|
||||
dnl Get the cflags and libraries from the pspell-config script
|
||||
dnl
|
||||
AC_ARG_WITH(pspell-prefix,
|
||||
[ --with-pspell-prefix=PFX Prefix where pspell-config is installed (optional)],
|
||||
pspell_config_prefix="$withval", pspell_config_prefix="")
|
||||
AC_ARG_ENABLE(pspelltest,
|
||||
[ --disable-pspelltest Do not try to compile and run a test pspell program],
|
||||
, enable_pspelltest=yes)
|
||||
AC_ARG_WITH(pspelllibs,
|
||||
[ --with-pspell-libs=LIBS Where pspell library reside (/usr/local/lib)],
|
||||
pspell_libs=$pspelllibs, pspell_libs='/usr/local/lib')
|
||||
AC_ARG_WITH(pspellincludes,
|
||||
[ --with-pspell-includes=INCLUDES Where pspell headers reside (/usr/local/include)],
|
||||
pspell_includes=$pspelllibs, pspell_includes='/usr/local/include')
|
||||
|
||||
|
||||
if test x$pspell_config_prefix != x ; then
|
||||
if test x${PSPELL_CONFIG+set} != xset ; then
|
||||
PSPELL_CONFIG=$pspell_config_prefix/bin/pspell-config
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PATH_PROG(PSPELL_CONFIG, pspell-config, no)
|
||||
min_pspell_version=ifelse([$1], ,.12.2,$1)
|
||||
AC_MSG_CHECKING(for pspell - version >= $min_pspell_version)
|
||||
no_pspell=""
|
||||
if test "$PSPELL_CONFIG" = "no" ; then
|
||||
no_pspell=yes
|
||||
else
|
||||
PSPELL_CFLAGS="-I$pspell_includes"
|
||||
PSPELL_LIBS="-L$pspell_libs -lpspell"
|
||||
pspell_config_version=`$PSPELL_CONFIG version`
|
||||
if test "x$enable_pspelltest" = "xyes" ; then
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $PSPELL_CFLAGS"
|
||||
LIBS="$LIBS $PSPELL_LIBS"
|
||||
dnl
|
||||
dnl
|
||||
dnl
|
||||
rm -f conf.pspelltest
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <pspell/pspell.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
system ("touch conf.pspelltest");
|
||||
if(strcmp("$pspell_config_version","$min_pspell_version")<0){
|
||||
printf("no\n");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
],, no_pspell=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
if test "x$no_pspell" = x ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
if test -f conf.pspelltest ; then
|
||||
:
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
if test "$PSPELL_CONFIG" = "no" ; then
|
||||
echo "*** The pspell-config script installed by pspell could not be found"
|
||||
echo "*** If pspell was installed in PREFIX, make sure PREFIX/bin is in"
|
||||
echo "*** your path, or set the PSPELL_CONFIG environment variable to the"
|
||||
echo "*** full path to pspell-config."
|
||||
else
|
||||
if test -f conf.pspelltest ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run pspell test program, checking why..."
|
||||
CFLAGS="$CFLAGS $PSPELL_CFLAGS"
|
||||
LIBS="$LIBS $PSPELL_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <pspell/pspell.h>
|
||||
], [ PspellConfig * pspellconfig= new_pspell_config(); return 0 ],
|
||||
[
|
||||
echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding pspell or finding the wrong"
|
||||
echo "*** version of pspell. If it is not finding pspell, you'll need to set your"
|
||||
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||
echo "*** to the installed location Also, make sure you have run ldconfig if"
|
||||
echo "*** that is required on your system"
|
||||
echo "***"
|
||||
echo "*** If you have an old version installed, it is best to remove it,"
|
||||
echo "*** although you may also be able to get things to work by"
|
||||
echo "*** modifying LD_LIBRARY_PATH"
|
||||
echo "***"
|
||||
],
|
||||
[
|
||||
echo "*** The test program failed to compile or link. See the file config.log"
|
||||
echo "*** for the exact error that occured. This usually means pspell was"
|
||||
echo "*** incorrectly installed or that you have moved pspell since it was"
|
||||
echo "*** installed. In the latter case, you may want to edit the"
|
||||
echo "*** pspell-config script: $PSPELL_CONFIG"
|
||||
])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
PSPELL_CFLAGS=""
|
||||
PSPELL_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
AC_SUBST(PSPELL_CFLAGS)
|
||||
AC_SUBST(PSPELL_LIBS)
|
||||
rm -f conf.pspelltest
|
||||
])
|
||||
|
|
@ -18,11 +18,11 @@
|
|||
/* Define if you use GPGME to support OpenPGP */
|
||||
#undef USE_GPGME
|
||||
|
||||
/* Define if you use PSPELL to support spell checking */
|
||||
#undef USE_PSPELL
|
||||
/* Define if you use ASPELL to support spell checking */
|
||||
#undef USE_ASPELL
|
||||
|
||||
/* Define PSPELL's default directory */
|
||||
#undef PSPELL_PATH
|
||||
/* Define ASPELL's default directory */
|
||||
#undef ASPELL_PATH
|
||||
|
||||
/* Define if you use OpenSSL to support SSL */
|
||||
#undef USE_SSL
|
||||
|
|
24
configure.in
24
configure.in
|
@ -8,7 +8,7 @@ MINOR_VERSION=8
|
|||
MICRO_VERSION=2
|
||||
INTERFACE_AGE=0
|
||||
BINARY_AGE=0
|
||||
EXTRA_VERSION=claws2
|
||||
EXTRA_VERSION=claws3
|
||||
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
|
||||
|
||||
dnl set $target
|
||||
|
@ -286,17 +286,17 @@ else
|
|||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
dnl PSPELL is user for spell checking
|
||||
AC_ARG_ENABLE(pspell,
|
||||
[ --enable-pspell Enable pspell support [default=no]],
|
||||
[ac_cv_enable_pspell=$enableval], [ac_cv_enable_pspell=no])
|
||||
AC_MSG_CHECKING([whether to use pspell])
|
||||
if test $ac_cv_enable_pspell = yes; then
|
||||
dnl ASPELL is user for spell checking
|
||||
AC_ARG_ENABLE(aspell,
|
||||
[ --enable-aspell Enable GNU/aspell support [default=no]],
|
||||
[ac_cv_enable_aspell=$enableval], [ac_cv_enable_aspell=no])
|
||||
AC_MSG_CHECKING([whether to use GNU/aspell])
|
||||
if test $ac_cv_enable_aspell = yes; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AM_PATH_PSPELL(.12.2, AC_DEFINE(USE_PSPELL), [use_pspell=no
|
||||
ac_cv_enable_pspell=no])
|
||||
pspell_path="`pspell-config --pkgdatadir`"
|
||||
AC_DEFINE_UNQUOTED(PSPELL_PATH, "${pspell_path}/")
|
||||
AM_PATH_ASPELL(0.50, AC_DEFINE(USE_ASPELL), [use_aspell=no
|
||||
ac_cv_enable_aspell=no])
|
||||
aspell_path="`$ASPELL config dict-dir`"
|
||||
AC_DEFINE_UNQUOTED(ASPELL_PATH, "${aspell_path}/")
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
@ -404,7 +404,7 @@ echo "OpenSSL : $ac_cv_enable_ssl"
|
|||
echo "compface : $ac_cv_enable_compface"
|
||||
echo "libjconv : $ac_cv_enable_jconv"
|
||||
echo "IPv6 : $ac_cv_enable_ipv6"
|
||||
echo "Pspell : $ac_cv_enable_pspell"
|
||||
echo "GNU/aspell : $ac_cv_enable_aspell"
|
||||
echo ""
|
||||
echo "The binary will be installed in $prefix/bin"
|
||||
echo ""
|
||||
|
|
|
@ -32,7 +32,7 @@ src/folder.c
|
|||
src/foldersel.c
|
||||
src/folderview.c
|
||||
src/grouplistdialog.c
|
||||
src/gtkspell.c
|
||||
src/gtkaspell.c
|
||||
src/gtkutils.c
|
||||
src/headerview.c
|
||||
src/imageview.c
|
||||
|
|
|
@ -130,7 +130,7 @@ sylpheed_SOURCES = \
|
|||
mbox_folder.c mbox_folder.h \
|
||||
quote_fmt_lex.l quote_fmt_lex.h \
|
||||
quote_fmt_parse.y quote_fmt.c quote_fmt.h \
|
||||
gtkspell.c gtkspell.h gtkxtext.h \
|
||||
gtkaspell.c gtkaspell.h gtkxtext.h \
|
||||
matcher_parser_lex.l matcher_parser_lex.h \
|
||||
matcher_parser_parse.y matcher_parser.h matcher_parser_parse.h \
|
||||
string_match.h string_match.c \
|
||||
|
@ -221,20 +221,20 @@ EXTRA_DIST = \
|
|||
INCLUDES = \
|
||||
-DG_LOG_DOMAIN=\"Sylpheed\" \
|
||||
-I$(top_srcdir)/intl \
|
||||
$(ASPELL_CFLAGS) \
|
||||
$(GTK_CFLAGS) \
|
||||
$(GDK_IMLIB_CFLAGS) \
|
||||
$(GDK_PIXBUF_CFLAGS) \
|
||||
$(GPGME_CFLAGS) \
|
||||
$(PSPELL_CFLAGS) \
|
||||
-I$(includedir)
|
||||
|
||||
sylpheed_LDADD = \
|
||||
$(INTLLIBS) \
|
||||
$(ASPELL_LIBS) \
|
||||
$(GTK_LIBS) \
|
||||
$(GDK_IMLIB_LIBS) \
|
||||
$(GDK_PIXBUF_LIBS) \
|
||||
$(GPGME_LIBS) \
|
||||
$(PSPELL_LIBS) \
|
||||
$(LDAP_LIBS)
|
||||
|
||||
CPPFLAGS = \
|
||||
|
|
|
@ -154,8 +154,8 @@ static void about_create(void)
|
|||
#if USE_JPILOT
|
||||
" JPilot"
|
||||
#endif
|
||||
#if USE_PSPELL
|
||||
" pspell"
|
||||
#if USE_ASPELL
|
||||
" GNU/aspell"
|
||||
#endif
|
||||
"");
|
||||
|
||||
|
|
|
@ -480,7 +480,7 @@ void compose_headerentry_key_press_event_cb(GtkWidget *entry,
|
|||
|
||||
static void compose_show_first_last_header (Compose *compose, gboolean show_first);
|
||||
|
||||
#if USE_PSPELL
|
||||
#if USE_ASPELL
|
||||
static void compose_check_all (Compose *compose);
|
||||
static void compose_highlight_all (Compose *compose);
|
||||
static void compose_check_backwards (Compose *compose);
|
||||
|
@ -599,7 +599,7 @@ static GtkItemFactoryEntry compose_entries[] =
|
|||
"<control><alt>L", compose_wrap_line_all, 0, NULL},
|
||||
{N_("/_Edit/Edit with e_xternal editor"),
|
||||
"<shift><control>X", compose_ext_editor_cb, 0, NULL},
|
||||
#if USE_PSPELL
|
||||
#if USE_ASPELL
|
||||
{N_("/_Spelling"), NULL, NULL, 0, "<Branch>"},
|
||||
{N_("/_Spelling/_Check all or check selection"),
|
||||
NULL, compose_check_all, 0, NULL},
|
||||
|
@ -4412,8 +4412,8 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
|
|||
GtkWidget *tmpl_menu;
|
||||
gint n_entries;
|
||||
|
||||
#if USE_PSPELL
|
||||
GtkPspell * gtkpspell = NULL;
|
||||
#if USE_ASPELL
|
||||
GtkAspell * gtkaspell = NULL;
|
||||
#endif
|
||||
|
||||
static GdkGeometry geometry;
|
||||
|
@ -4729,31 +4729,31 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
|
|||
|
||||
compose->redirect_filename = NULL;
|
||||
compose->undostruct = undostruct;
|
||||
#if USE_PSPELL
|
||||
#if USE_ASPELL
|
||||
|
||||
menu_set_sensitive(ifactory, "/Spelling", FALSE);
|
||||
if (prefs_common.enable_pspell) {
|
||||
gtkpspell = gtkpspell_new((const gchar*)prefs_common.dictionary,
|
||||
if (prefs_common.enable_aspell) {
|
||||
gtkaspell = gtkaspell_new((const gchar*)prefs_common.dictionary,
|
||||
conv_get_current_charset_str(),
|
||||
prefs_common.misspelled_col,
|
||||
prefs_common.check_while_typing,
|
||||
prefs_common.use_alternate,
|
||||
GTK_STEXT(text));
|
||||
if (!gtkpspell) {
|
||||
alertpanel_error(_("Spell checker could not be started.\n%s"), gtkpspellcheckers->error_message);
|
||||
gtkpspell_checkers_reset_error();
|
||||
if (!gtkaspell) {
|
||||
alertpanel_error(_("Spell checker could not be started.\n%s"), gtkaspellcheckers->error_message);
|
||||
gtkaspell_checkers_reset_error();
|
||||
} else {
|
||||
|
||||
GtkWidget *menuitem;
|
||||
|
||||
if (!gtkpspell_set_sug_mode(gtkpspell, prefs_common.pspell_sugmode)) {
|
||||
debug_print("Pspell: could not set suggestion mode %s\n",
|
||||
gtkpspellcheckers->error_message);
|
||||
gtkpspell_checkers_reset_error();
|
||||
if (!gtkaspell_set_sug_mode(gtkaspell, prefs_common.aspell_sugmode)) {
|
||||
debug_print("Aspell: could not set suggestion mode %s\n",
|
||||
gtkaspellcheckers->error_message);
|
||||
gtkaspell_checkers_reset_error();
|
||||
}
|
||||
|
||||
menuitem = gtk_item_factory_get_item(ifactory, "/Spelling/Spelling Configuration");
|
||||
gtkpspell_populate_submenu(gtkpspell, menuitem);
|
||||
gtkaspell_populate_submenu(gtkaspell, menuitem);
|
||||
menu_set_sensitive(ifactory, "/Spelling", TRUE);
|
||||
}
|
||||
}
|
||||
|
@ -4767,8 +4767,8 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
|
|||
compose->use_followupto = FALSE;
|
||||
#endif
|
||||
|
||||
#if USE_PSPELL
|
||||
compose->gtkpspell = gtkpspell;
|
||||
#if USE_ASPELL
|
||||
compose->gtkaspell = gtkaspell;
|
||||
#endif
|
||||
|
||||
#if 0 /* NEW COMPOSE GUI */
|
||||
|
@ -5218,9 +5218,9 @@ static void compose_destroy(Compose *compose)
|
|||
if (addressbook_get_target_compose() == compose)
|
||||
addressbook_set_target_compose(NULL);
|
||||
|
||||
#if USE_PSPELL
|
||||
if (compose->gtkpspell) {
|
||||
gtkpspell_delete(compose->gtkpspell);
|
||||
#if USE_ASPELL
|
||||
if (compose->gtkaspell) {
|
||||
gtkaspell_delete(compose->gtkaspell);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -6878,23 +6878,23 @@ static gboolean compose_send_control_enter(Compose *compose)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
#if USE_PSPELL
|
||||
#if USE_ASPELL
|
||||
static void compose_check_all(Compose *compose)
|
||||
{
|
||||
if (compose->gtkpspell)
|
||||
gtkpspell_check_all(compose->gtkpspell);
|
||||
if (compose->gtkaspell)
|
||||
gtkaspell_check_all(compose->gtkaspell);
|
||||
}
|
||||
|
||||
static void compose_highlight_all(Compose *compose)
|
||||
{
|
||||
if (compose->gtkpspell)
|
||||
gtkpspell_highlight_all(compose->gtkpspell);
|
||||
if (compose->gtkaspell)
|
||||
gtkaspell_highlight_all(compose->gtkaspell);
|
||||
}
|
||||
|
||||
static void compose_check_backwards(Compose *compose)
|
||||
{
|
||||
if (compose->gtkpspell)
|
||||
gtkpspell_check_backwards(compose->gtkpspell);
|
||||
if (compose->gtkaspell)
|
||||
gtkaspell_check_backwards(compose->gtkaspell);
|
||||
else {
|
||||
GtkItemFactory *ifactory;
|
||||
ifactory = gtk_item_factory_from_widget(compose->popupmenu);
|
||||
|
@ -6905,8 +6905,8 @@ static void compose_check_backwards(Compose *compose)
|
|||
|
||||
static void compose_check_forwards_go(Compose *compose)
|
||||
{
|
||||
if (compose->gtkpspell)
|
||||
gtkpspell_check_forwards_go(compose->gtkpspell);
|
||||
if (compose->gtkaspell)
|
||||
gtkaspell_check_forwards_go(compose->gtkaspell);
|
||||
else {
|
||||
GtkItemFactory *ifactory;
|
||||
ifactory = gtk_item_factory_from_widget(compose->popupmenu);
|
||||
|
|
|
@ -33,8 +33,8 @@ typedef struct _AttachInfo AttachInfo;
|
|||
#include "prefs_account.h"
|
||||
#include "undo.h"
|
||||
|
||||
#ifdef USE_PSPELL
|
||||
#include "gtkspell.h"
|
||||
#ifdef USE_ASPELL
|
||||
#include "gtkaspell.h"
|
||||
#endif
|
||||
|
||||
typedef enum
|
||||
|
@ -192,9 +192,9 @@ struct _Compose
|
|||
gint exteditor_readdes;
|
||||
gint exteditor_tag;
|
||||
|
||||
#if USE_PSPELL
|
||||
/* Pspell spell checker */
|
||||
GtkPspell *gtkpspell;
|
||||
#if USE_ASPELL
|
||||
/* GNU/aspell spell checker */
|
||||
GtkAspell *gtkaspell;
|
||||
#endif
|
||||
|
||||
/* Priority */
|
||||
|
|
|
@ -428,8 +428,8 @@ static const gchar *get_compiled_in_features(void)
|
|||
#if USE_JPILOT
|
||||
" JPilot"
|
||||
#endif
|
||||
#if USE_PSPELL
|
||||
" pspell"
|
||||
#if USE_ASPELL
|
||||
" GNU/aspell"
|
||||
#endif
|
||||
"");
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
152
src/gtkaspell.h
Normal file
152
src/gtkaspell.h
Normal file
|
@ -0,0 +1,152 @@
|
|||
/*
|
||||
Stuphead: (C) 2000,2001 Grigroy Bakunov, Sergey Pinaev
|
||||
*/
|
||||
/* gtkaspell - a spell-checking addon for GtkText
|
||||
* Copyright (c) 2001-2002 Melvin Hadasht
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* Adapted by the Sylpheed Claws Team.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Adapted for pspell (c) 2001-2002 Melvin Hadasht
|
||||
* Adapted for GNU/aspell (c) 2002 Melvin Hadasht
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __GTKASPELL_H__
|
||||
#define __GTKASPELL_H__
|
||||
|
||||
#include <gtk/gtkoptionmenu.h>
|
||||
#include <aspell.h>
|
||||
|
||||
#include "gtkstext.h"
|
||||
|
||||
#define ASPELL_FASTMODE 1
|
||||
#define ASPELL_NORMALMODE 2
|
||||
#define ASPELL_BADSPELLERMODE 3
|
||||
|
||||
#define GTKASPELLWORDSIZE 1024
|
||||
|
||||
typedef struct _GtkAspellCheckers
|
||||
{
|
||||
GSList *checkers;
|
||||
GSList *dictionary_list;
|
||||
gchar *error_message;
|
||||
} GtkAspellCheckers;
|
||||
|
||||
typedef struct _Dictionary {
|
||||
gchar *fullname;
|
||||
gchar *dictname;
|
||||
gchar *encoding;
|
||||
} Dictionary;
|
||||
|
||||
typedef struct _GtkAspeller {
|
||||
Dictionary *dictionary;
|
||||
gint sug_mode;
|
||||
AspellConfig *config;
|
||||
AspellSpeller *checker;
|
||||
} GtkAspeller;
|
||||
|
||||
typedef void (*ContCheckFunc) (gpointer *gtkaspell);
|
||||
|
||||
typedef struct _GtkAspell
|
||||
{
|
||||
GtkAspeller *gtkaspeller;
|
||||
GtkAspeller *alternate_speller;
|
||||
gchar theword[GTKASPELLWORDSIZE];
|
||||
gint start_pos;
|
||||
gint end_pos;
|
||||
gint orig_pos;
|
||||
gint end_check_pos;
|
||||
gboolean misspelled;
|
||||
gboolean check_while_typing;
|
||||
gboolean use_alternate;
|
||||
|
||||
ContCheckFunc continue_check;
|
||||
|
||||
GtkWidget *config_menu;
|
||||
GtkWidget *popup_config_menu;
|
||||
GtkWidget *sug_menu;
|
||||
GtkWidget *replace_entry;
|
||||
|
||||
gint default_sug_mode;
|
||||
gint max_sug;
|
||||
GList *suggestions_list;
|
||||
|
||||
GtkSText *gtktext;
|
||||
GdkColor highlight;
|
||||
} GtkAspell;
|
||||
|
||||
typedef AspellConfig GtkAspellConfig;
|
||||
|
||||
extern GtkAspellCheckers *gtkaspellcheckers;
|
||||
|
||||
GtkAspellCheckers* gtkaspell_checkers_new ();
|
||||
|
||||
GtkAspellCheckers* gtkaspell_checkers_delete ();
|
||||
|
||||
void gtkaspell_checkers_reset_error ();
|
||||
|
||||
GtkAspell* gtkaspell_new (const gchar *dictionary,
|
||||
const gchar *encoding,
|
||||
gint misspelled_color,
|
||||
gboolean check_while_typing,
|
||||
gboolean use_alternate,
|
||||
GtkSText *gtktext);
|
||||
|
||||
void gtkaspell_delete (GtkAspell *gtkaspell);
|
||||
|
||||
guchar* gtkaspell_get_dict (GtkAspell *gtkaspell);
|
||||
|
||||
guchar* gtkaspell_get_path (GtkAspell *gtkaspell);
|
||||
|
||||
gboolean gtkaspell_set_sug_mode (GtkAspell *gtkaspell,
|
||||
gint themode);
|
||||
|
||||
GSList* gtkaspell_get_dictionary_list (const char *aspell_path,
|
||||
gint refresh);
|
||||
|
||||
void gtkaspell_free_dictionary_list (GSList *list);
|
||||
|
||||
void gtkaspell_check_forwards_go (GtkAspell *gtkaspell);
|
||||
void gtkaspell_check_backwards (GtkAspell *gtkaspell);
|
||||
|
||||
void gtkaspell_check_all (GtkAspell *gtkaspell);
|
||||
void gtkaspell_uncheck_all (GtkAspell *gtkaspell);
|
||||
void gtkaspell_highlight_all (GtkAspell *gtkaspell);
|
||||
|
||||
void gtkaspell_populate_submenu (GtkAspell *gtkaspell,
|
||||
GtkWidget *menuitem);
|
||||
|
||||
GtkWidget* gtkaspell_dictionary_option_menu_new
|
||||
(const gchar *aspell_path);
|
||||
gchar* gtkaspell_get_dictionary_menu_active_item
|
||||
(GtkWidget *menu);
|
||||
|
||||
GtkWidget* gtkaspell_sugmode_option_menu_new
|
||||
(gint sugmode);
|
||||
|
||||
void gtkaspell_sugmode_option_menu_set
|
||||
(GtkOptionMenu *optmenu,
|
||||
gint sugmode);
|
||||
|
||||
gint gtkaspell_get_sugmode_from_option_menu
|
||||
(GtkOptionMenu *optmenu);
|
||||
|
||||
#endif /* __GTKASPELL_H__ */
|
138
src/gtkspell.h
138
src/gtkspell.h
|
@ -1,138 +0,0 @@
|
|||
/*
|
||||
Stuphead: (C) 2000,2001 Grigroy Bakunov, Sergey Pinaev
|
||||
*/
|
||||
/* gtkpspell - a spell-checking addon for GtkText
|
||||
* Copyright (c) 2001-2002 Melvin Hadasht
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* Adapted by the Sylpheed Claws Team.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Adapted for pspell (c) 2001-2002 Melvin Hadasht
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __GTKPSPELL_H__
|
||||
#define __GTKPSPELL_H__
|
||||
|
||||
#include <gtk/gtkoptionmenu.h>
|
||||
#include <pspell/pspell.h>
|
||||
|
||||
#include "gtkstext.h"
|
||||
|
||||
#define PSPELL_FASTMODE 1
|
||||
#define PSPELL_NORMALMODE 2
|
||||
#define PSPELL_BADSPELLERMODE 3
|
||||
|
||||
#define GTKPSPELLWORDSIZE 1024
|
||||
|
||||
typedef struct _GtkPspellCheckers
|
||||
{
|
||||
GSList *checkers;
|
||||
GSList *dictionary_list;
|
||||
gchar *error_message;
|
||||
} GtkPspellCheckers;
|
||||
|
||||
typedef struct _Dictionary
|
||||
{
|
||||
gchar *fullname;
|
||||
gchar *dictname; /* dictname points into fullname */
|
||||
gchar *encoding;
|
||||
} Dictionary;
|
||||
|
||||
typedef struct _GtkPspeller
|
||||
{
|
||||
Dictionary *dictionary;
|
||||
gint sug_mode;
|
||||
gint ispell;
|
||||
PspellConfig *config;
|
||||
PspellManager *checker;
|
||||
} GtkPspeller;
|
||||
|
||||
typedef void (*ContCheckFunc) (gpointer *gtkpspell);
|
||||
|
||||
typedef struct _GtkPspell
|
||||
{
|
||||
GtkPspeller *gtkpspeller;
|
||||
GtkPspeller *alternate_speller;
|
||||
gchar theword[GTKPSPELLWORDSIZE];
|
||||
gint start_pos;
|
||||
gint end_pos;
|
||||
gint orig_pos;
|
||||
gint end_check_pos;
|
||||
gboolean misspelled;
|
||||
gboolean check_while_typing;
|
||||
gboolean use_alternate;
|
||||
|
||||
ContCheckFunc continue_check;
|
||||
|
||||
GtkWidget *config_menu;
|
||||
GtkWidget *popup_config_menu;
|
||||
GtkWidget *sug_menu;
|
||||
GtkWidget *replace_entry;
|
||||
|
||||
gint default_sug_mode;
|
||||
gint max_sug;
|
||||
GList *suggestions_list;
|
||||
|
||||
GtkSText *gtktext;
|
||||
GdkColor highlight;
|
||||
} GtkPspell;
|
||||
|
||||
typedef PspellConfig GtkPspellConfig;
|
||||
|
||||
extern GtkPspellCheckers *gtkpspellcheckers;
|
||||
|
||||
GtkPspellCheckers* gtkpspell_checkers_new (void);
|
||||
GtkPspellCheckers* gtkpspell_checkers_delete (void);
|
||||
void gtkpspell_checkers_reset_error (void);
|
||||
|
||||
GtkPspell* gtkpspell_new (const gchar *dictionary,
|
||||
const gchar *encoding,
|
||||
gint misspelled_color,
|
||||
gboolean check_while_typing,
|
||||
gboolean use_alternate,
|
||||
GtkSText *gtktext);
|
||||
void gtkpspell_delete (GtkPspell *gtkpspell);
|
||||
|
||||
guchar* gtkpspell_get_dict (GtkPspell *gtkpspell);
|
||||
guchar* gtkpspell_get_path (GtkPspell *gtkpspell);
|
||||
gboolean gtkpspell_set_sug_mode (GtkPspell *gtkpspell,
|
||||
gint themode);
|
||||
GSList* gtkpspell_get_dictionary_list (const char *pspell_path,
|
||||
gint refresh);
|
||||
|
||||
void gtkpspell_free_dictionary_list (GSList *list);
|
||||
|
||||
void gtkpspell_check_forwards_go (GtkPspell *gtkpspell);
|
||||
void gtkpspell_check_backwards (GtkPspell *gtkpspell);
|
||||
void gtkpspell_check_all (GtkPspell *gtkpspell);
|
||||
void gtkpspell_uncheck_all (GtkPspell *gtkpspell);
|
||||
void gtkpspell_highlight_all (GtkPspell *gtkpspell);
|
||||
|
||||
void gtkpspell_populate_submenu (GtkPspell *gtkpspell,
|
||||
GtkWidget *menuitem);
|
||||
GtkWidget* gtkpspell_dictionary_option_menu_new (const gchar *pspell_path);
|
||||
gchar* gtkpspell_get_dictionary_menu_active_item(GtkWidget *menu);
|
||||
GtkWidget* gtkpspell_sugmode_option_menu_new (gint sugmode);
|
||||
void gtkpspell_sugmode_option_menu_set (GtkOptionMenu *optmenu,
|
||||
gint sugmode);
|
||||
gint gtkpspell_get_sugmode_from_option_menu (GtkOptionMenu *optmenu);
|
||||
|
||||
#endif /* __GTKPSPELL_H__ */
|
|
@ -273,8 +273,8 @@ int main(int argc, char *argv[])
|
|||
gpgme_register_idle(idle_function_for_gpgme);
|
||||
#endif
|
||||
|
||||
#if USE_PSPELL
|
||||
gtkpspellcheckers = gtkpspell_checkers_new();
|
||||
#if USE_ASPELL
|
||||
gtkaspellcheckers = gtkaspell_checkers_new();
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -351,8 +351,8 @@ int main(int argc, char *argv[])
|
|||
|
||||
addressbook_destroy();
|
||||
|
||||
#if USE_PSPELL
|
||||
gtkpspell_checkers_delete();
|
||||
#if USE_ASPELL
|
||||
gtkaspell_checkers_delete();
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -56,8 +56,8 @@
|
|||
#include "stock_pixmap.h"
|
||||
#include "quote_fmt.h"
|
||||
|
||||
#if USE_PSPELL
|
||||
#include "gtkspell.h"
|
||||
#if USE_ASPELL
|
||||
#include "gtkaspell.h"
|
||||
#endif
|
||||
|
||||
PrefsCommon prefs_common;
|
||||
|
@ -129,11 +129,11 @@ static struct Compose {
|
|||
} compose;
|
||||
|
||||
/* spelling */
|
||||
#if USE_PSPELL
|
||||
#if USE_ASPELL
|
||||
static struct Spelling {
|
||||
GtkWidget *checkbtn_enable_pspell;
|
||||
GtkWidget *entry_pspell_path;
|
||||
GtkWidget *btn_pspell_path;
|
||||
GtkWidget *checkbtn_enable_aspell;
|
||||
GtkWidget *entry_aspell_path;
|
||||
GtkWidget *btn_aspell_path;
|
||||
GtkWidget *optmenu_dictionary;
|
||||
GtkWidget *optmenu_sugmode;
|
||||
GtkWidget *misspelled_btn;
|
||||
|
@ -260,7 +260,7 @@ static void prefs_common_recv_dialog_set_optmenu(PrefParam *pparam);
|
|||
static void prefs_nextunreadmsgdialog_set_data_from_optmenu(PrefParam *pparam);
|
||||
static void prefs_nextunreadmsgdialog_set_optmenu(PrefParam *pparam);
|
||||
|
||||
#if USE_PSPELL
|
||||
#if USE_ASPELL
|
||||
static void prefs_dictionary_set_data_from_optmenu (PrefParam *param);
|
||||
static void prefs_dictionary_set_optmenu (PrefParam *pparam);
|
||||
static void prefs_speller_sugmode_set_data_from_optmenu (PrefParam *pparam);
|
||||
|
@ -379,17 +379,17 @@ static PrefParam param[] = {
|
|||
{"smart_wrapping", "TRUE", &prefs_common.smart_wrapping,
|
||||
P_BOOL, &compose.checkbtn_smart_wrapping,
|
||||
prefs_set_data_from_toggle, prefs_set_toggle},
|
||||
#if USE_PSPELL
|
||||
{"enable_pspell", "TRUE", &prefs_common.enable_pspell,
|
||||
P_BOOL, &spelling.checkbtn_enable_pspell,
|
||||
#if USE_ASPELL
|
||||
{"enable_aspell", "TRUE", &prefs_common.enable_aspell,
|
||||
P_BOOL, &spelling.checkbtn_enable_aspell,
|
||||
prefs_set_data_from_toggle, prefs_set_toggle},
|
||||
{"pspell_path", PSPELL_PATH, &prefs_common.pspell_path,
|
||||
P_STRING, &spelling.entry_pspell_path,
|
||||
{"aspell_path", ASPELL_PATH, &prefs_common.aspell_path,
|
||||
P_STRING, &spelling.entry_aspell_path,
|
||||
prefs_set_data_from_entry, prefs_set_entry},
|
||||
{"dictionary", "", &prefs_common.dictionary,
|
||||
P_STRING, &spelling.optmenu_dictionary,
|
||||
prefs_dictionary_set_data_from_optmenu, prefs_dictionary_set_optmenu },
|
||||
{"pspell_sugmode", "1", &prefs_common.pspell_sugmode,
|
||||
{"aspell_sugmode", "1", &prefs_common.aspell_sugmode,
|
||||
P_INT, &spelling.optmenu_sugmode,
|
||||
prefs_speller_sugmode_set_data_from_optmenu, prefs_speller_sugmode_set_optmenu },
|
||||
{"use_alternate_dict", "FALSE", &prefs_common.use_alternate,
|
||||
|
@ -978,7 +978,7 @@ static void prefs_common_create(void)
|
|||
SET_NOTEBOOK_LABEL(dialog.notebook, _("Send"), page++);
|
||||
prefs_compose_create();
|
||||
SET_NOTEBOOK_LABEL(dialog.notebook, _("Compose"), page++);
|
||||
#if USE_PSPELL
|
||||
#if USE_ASPELL
|
||||
prefs_spelling_create();
|
||||
SET_NOTEBOOK_LABEL(dialog.notebook, _("Spell Checker"), page++);
|
||||
#endif
|
||||
|
@ -1386,7 +1386,7 @@ static void prefs_common_recv_dialog_newmail_notify_toggle_cb(GtkWidget *w, gpoi
|
|||
gtk_widget_set_sensitive(receive.hbox_newmail_notify, toggled);
|
||||
}
|
||||
|
||||
#if USE_PSPELL
|
||||
#if USE_ASPELL
|
||||
static void prefs_dictionary_set_data_from_optmenu(PrefParam *param)
|
||||
{
|
||||
gchar *str;
|
||||
|
@ -1397,7 +1397,7 @@ static void prefs_dictionary_set_data_from_optmenu(PrefParam *param)
|
|||
g_return_if_fail(param->widget);
|
||||
g_return_if_fail(*(param->widget));
|
||||
|
||||
dict_fullname = gtkpspell_get_dictionary_menu_active_item
|
||||
dict_fullname = gtkaspell_get_dictionary_menu_active_item
|
||||
(gtk_option_menu_get_menu(GTK_OPTION_MENU(*(param->widget))));
|
||||
str = *((gchar **) param->data);
|
||||
if (str)
|
||||
|
@ -1444,7 +1444,7 @@ static void prefs_speller_sugmode_set_data_from_optmenu(PrefParam *param)
|
|||
g_return_if_fail(param->widget);
|
||||
g_return_if_fail(*(param->widget));
|
||||
|
||||
sugmode = gtkpspell_get_sugmode_from_option_menu
|
||||
sugmode = gtkaspell_get_sugmode_from_option_menu
|
||||
(GTK_OPTION_MENU(*(param->widget)));
|
||||
*((gint *) param->data) = sugmode;
|
||||
}
|
||||
|
@ -1458,11 +1458,11 @@ static void prefs_speller_sugmode_set_optmenu(PrefParam *pparam)
|
|||
g_return_if_fail(pparam->data != NULL);
|
||||
|
||||
sugmode = *(gint *) pparam->data;
|
||||
gtkpspell_sugmode_option_menu_set(optmenu, sugmode);
|
||||
gtkaspell_sugmode_option_menu_set(optmenu, sugmode);
|
||||
}
|
||||
|
||||
|
||||
static void prefs_spelling_checkbtn_enable_pspell_toggle_cb
|
||||
static void prefs_spelling_checkbtn_enable_aspell_toggle_cb
|
||||
(GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
|
@ -1470,40 +1470,40 @@ static void prefs_spelling_checkbtn_enable_pspell_toggle_cb
|
|||
|
||||
toggled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
|
||||
|
||||
gtk_widget_set_sensitive(spelling.entry_pspell_path, toggled);
|
||||
gtk_widget_set_sensitive(spelling.entry_aspell_path, toggled);
|
||||
gtk_widget_set_sensitive(spelling.optmenu_dictionary, toggled);
|
||||
gtk_widget_set_sensitive(spelling.optmenu_sugmode, toggled);
|
||||
gtk_widget_set_sensitive(spelling.btn_pspell_path, toggled);
|
||||
gtk_widget_set_sensitive(spelling.btn_aspell_path, toggled);
|
||||
gtk_widget_set_sensitive(spelling.misspelled_btn, toggled);
|
||||
gtk_widget_set_sensitive(spelling.checkbtn_use_alternate, toggled);
|
||||
gtk_widget_set_sensitive(spelling.checkbtn_check_while_typing, toggled);
|
||||
}
|
||||
|
||||
static void prefs_spelling_btn_pspell_path_clicked_cb(GtkWidget *widget,
|
||||
static void prefs_spelling_btn_aspell_path_clicked_cb(GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
gchar *file_path, *tmp;
|
||||
GtkWidget *new_menu;
|
||||
|
||||
file_path = filesel_select_file(_("Select dictionaries location"),
|
||||
prefs_common.pspell_path);
|
||||
prefs_common.aspell_path);
|
||||
if (file_path == NULL) {
|
||||
/* don't change */
|
||||
}
|
||||
else {
|
||||
tmp=g_dirname(file_path);
|
||||
|
||||
if (prefs_common.pspell_path)
|
||||
g_free(prefs_common.pspell_path);
|
||||
prefs_common.pspell_path = g_strdup_printf("%s%s",tmp,
|
||||
if (prefs_common.aspell_path)
|
||||
g_free(prefs_common.aspell_path);
|
||||
prefs_common.aspell_path = g_strdup_printf("%s%s",tmp,
|
||||
G_DIR_SEPARATOR_S);
|
||||
|
||||
new_menu = gtkpspell_dictionary_option_menu_new(prefs_common.pspell_path);
|
||||
new_menu = gtkaspell_dictionary_option_menu_new(prefs_common.aspell_path);
|
||||
gtk_option_menu_set_menu(GTK_OPTION_MENU(spelling.optmenu_dictionary),
|
||||
new_menu);
|
||||
|
||||
gtk_entry_set_text(GTK_ENTRY(spelling.entry_pspell_path),
|
||||
prefs_common.pspell_path);
|
||||
gtk_entry_set_text(GTK_ENTRY(spelling.entry_aspell_path),
|
||||
prefs_common.aspell_path);
|
||||
/* select first one */
|
||||
gtk_option_menu_set_history(GTK_OPTION_MENU(
|
||||
spelling.optmenu_dictionary), 0);
|
||||
|
@ -1512,7 +1512,7 @@ static void prefs_spelling_btn_pspell_path_clicked_cb(GtkWidget *widget,
|
|||
g_free(prefs_common.dictionary);
|
||||
|
||||
prefs_common.dictionary =
|
||||
gtkpspell_get_dictionary_menu_active_item(
|
||||
gtkaspell_get_dictionary_menu_active_item(
|
||||
gtk_option_menu_get_menu(
|
||||
GTK_OPTION_MENU(
|
||||
spelling.optmenu_dictionary)));
|
||||
|
@ -1526,11 +1526,11 @@ static void prefs_spelling_create()
|
|||
GtkWidget *vbox1;
|
||||
GtkWidget *frame_spell;
|
||||
GtkWidget *vbox_spell;
|
||||
GtkWidget *hbox_pspell_path;
|
||||
GtkWidget *checkbtn_enable_pspell;
|
||||
GtkWidget *label_pspell_path;
|
||||
GtkWidget *entry_pspell_path;
|
||||
GtkWidget *btn_pspell_path;
|
||||
GtkWidget *hbox_aspell_path;
|
||||
GtkWidget *checkbtn_enable_aspell;
|
||||
GtkWidget *label_aspell_path;
|
||||
GtkWidget *entry_aspell_path;
|
||||
GtkWidget *btn_aspell_path;
|
||||
GtkWidget *spell_table;
|
||||
GtkWidget *label_dictionary;
|
||||
GtkWidget *optmenu_dictionary;
|
||||
|
@ -1554,11 +1554,11 @@ static void prefs_spelling_create()
|
|||
gtk_container_add(GTK_CONTAINER(frame_spell), vbox_spell);
|
||||
gtk_container_set_border_width(GTK_CONTAINER(vbox_spell), 8);
|
||||
|
||||
PACK_CHECK_BUTTON(vbox_spell, checkbtn_enable_pspell,
|
||||
_("Enable spell checker (EXPERIMENTAL)"));
|
||||
PACK_CHECK_BUTTON(vbox_spell, checkbtn_enable_aspell,
|
||||
_("Enable spell checker"));
|
||||
|
||||
gtk_signal_connect(GTK_OBJECT(checkbtn_enable_pspell), "toggled",
|
||||
GTK_SIGNAL_FUNC(prefs_spelling_checkbtn_enable_pspell_toggle_cb),
|
||||
gtk_signal_connect(GTK_OBJECT(checkbtn_enable_aspell), "toggled",
|
||||
GTK_SIGNAL_FUNC(prefs_spelling_checkbtn_enable_aspell_toggle_cb),
|
||||
NULL);
|
||||
|
||||
/* Check while typing */
|
||||
|
@ -1579,31 +1579,31 @@ static void prefs_spelling_create()
|
|||
|
||||
gtk_box_pack_start(GTK_BOX(vbox_spell), spell_table, TRUE, TRUE, 0);
|
||||
|
||||
label_pspell_path = gtk_label_new (_("Dictionaries path:"));
|
||||
gtk_misc_set_alignment(GTK_MISC(label_pspell_path), 1.0, 0.5);
|
||||
gtk_widget_show(label_pspell_path);
|
||||
gtk_table_attach (GTK_TABLE (spell_table), label_pspell_path, 0, 1, 0,
|
||||
label_aspell_path = gtk_label_new (_("Dictionaries path:"));
|
||||
gtk_misc_set_alignment(GTK_MISC(label_aspell_path), 1.0, 0.5);
|
||||
gtk_widget_show(label_aspell_path);
|
||||
gtk_table_attach (GTK_TABLE (spell_table), label_aspell_path, 0, 1, 0,
|
||||
1, GTK_FILL, (GTK_EXPAND | GTK_FILL), 0, 0);
|
||||
|
||||
hbox_pspell_path = gtk_hbox_new (FALSE, 8);
|
||||
gtk_table_attach (GTK_TABLE (spell_table), hbox_pspell_path, 1, 2, 0,
|
||||
hbox_aspell_path = gtk_hbox_new (FALSE, 8);
|
||||
gtk_table_attach (GTK_TABLE (spell_table), hbox_aspell_path, 1, 2, 0,
|
||||
1, GTK_FILL, (GTK_EXPAND | GTK_FILL), 0, 0);
|
||||
gtk_widget_show(hbox_pspell_path);
|
||||
gtk_widget_show(hbox_aspell_path);
|
||||
|
||||
entry_pspell_path = gtk_entry_new();
|
||||
gtk_widget_show(entry_pspell_path);
|
||||
gtk_box_pack_start(GTK_BOX(hbox_pspell_path), entry_pspell_path, TRUE,
|
||||
entry_aspell_path = gtk_entry_new();
|
||||
gtk_widget_show(entry_aspell_path);
|
||||
gtk_box_pack_start(GTK_BOX(hbox_aspell_path), entry_aspell_path, TRUE,
|
||||
TRUE, 0);
|
||||
|
||||
gtk_widget_set_sensitive(entry_pspell_path, prefs_common.enable_pspell);
|
||||
gtk_widget_set_sensitive(entry_aspell_path, prefs_common.enable_aspell);
|
||||
|
||||
btn_pspell_path = gtk_button_new_with_label(" ... ");
|
||||
gtk_widget_show(btn_pspell_path);
|
||||
gtk_box_pack_start(GTK_BOX(hbox_pspell_path), btn_pspell_path, FALSE, FALSE, 0);
|
||||
gtk_widget_set_sensitive(btn_pspell_path, prefs_common.enable_pspell);
|
||||
btn_aspell_path = gtk_button_new_with_label(" ... ");
|
||||
gtk_widget_show(btn_aspell_path);
|
||||
gtk_box_pack_start(GTK_BOX(hbox_aspell_path), btn_aspell_path, FALSE, FALSE, 0);
|
||||
gtk_widget_set_sensitive(btn_aspell_path, prefs_common.enable_aspell);
|
||||
|
||||
gtk_signal_connect(GTK_OBJECT(btn_pspell_path), "clicked",
|
||||
GTK_SIGNAL_FUNC(prefs_spelling_btn_pspell_path_clicked_cb),
|
||||
gtk_signal_connect(GTK_OBJECT(btn_aspell_path), "clicked",
|
||||
GTK_SIGNAL_FUNC(prefs_spelling_btn_aspell_path_clicked_cb),
|
||||
NULL);
|
||||
|
||||
label_dictionary = gtk_label_new(_("Default dictionary:"));
|
||||
|
@ -1615,11 +1615,11 @@ static void prefs_spelling_create()
|
|||
optmenu_dictionary = gtk_option_menu_new();
|
||||
gtk_widget_show(optmenu_dictionary);
|
||||
gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu_dictionary),
|
||||
gtkpspell_dictionary_option_menu_new(
|
||||
prefs_common.pspell_path));
|
||||
gtkaspell_dictionary_option_menu_new(
|
||||
prefs_common.aspell_path));
|
||||
gtk_table_attach (GTK_TABLE (spell_table), optmenu_dictionary, 1, 2, 1,
|
||||
2, GTK_FILL, (GTK_EXPAND | GTK_FILL), 0, 0);
|
||||
gtk_widget_set_sensitive(optmenu_dictionary, prefs_common.enable_pspell);
|
||||
gtk_widget_set_sensitive(optmenu_dictionary, prefs_common.enable_aspell);
|
||||
|
||||
/* Suggestion mode */
|
||||
sugmode_label = gtk_label_new(_("Default suggestion mode"));
|
||||
|
@ -1631,10 +1631,10 @@ static void prefs_spelling_create()
|
|||
sugmode_optmenu = gtk_option_menu_new();
|
||||
gtk_widget_show(sugmode_optmenu);
|
||||
gtk_option_menu_set_menu(GTK_OPTION_MENU(sugmode_optmenu),
|
||||
gtkpspell_sugmode_option_menu_new(prefs_common.pspell_sugmode));
|
||||
gtkaspell_sugmode_option_menu_new(prefs_common.aspell_sugmode));
|
||||
gtk_table_attach(GTK_TABLE(spell_table), sugmode_optmenu, 1, 2, 2, 3,
|
||||
GTK_FILL, (GTK_EXPAND | GTK_FILL), 0, 0);
|
||||
gtk_widget_set_sensitive(sugmode_optmenu, prefs_common.enable_pspell);
|
||||
gtk_widget_set_sensitive(sugmode_optmenu, prefs_common.enable_aspell);
|
||||
|
||||
/* Color */
|
||||
color_label = gtk_label_new(_("Misspelled word color:"));
|
||||
|
@ -1652,15 +1652,15 @@ static void prefs_spelling_create()
|
|||
set_button_bg_color(spelling.misspelled_btn,
|
||||
prefs_common.misspelled_col);
|
||||
gtk_widget_set_usize (spelling.misspelled_btn, 30, 20);
|
||||
gtk_widget_set_sensitive(spelling.misspelled_btn, prefs_common.enable_pspell);
|
||||
gtk_widget_set_sensitive(spelling.misspelled_btn, prefs_common.enable_aspell);
|
||||
gtk_signal_connect (GTK_OBJECT (spelling.misspelled_btn), "clicked",
|
||||
GTK_SIGNAL_FUNC(quote_color_set_dialog), "Misspelled word");
|
||||
gtk_container_add(GTK_CONTAINER(col_align), spelling.misspelled_btn);
|
||||
|
||||
|
||||
spelling.checkbtn_enable_pspell = checkbtn_enable_pspell;
|
||||
spelling.entry_pspell_path = entry_pspell_path;
|
||||
spelling.btn_pspell_path = btn_pspell_path;
|
||||
spelling.checkbtn_enable_aspell = checkbtn_enable_aspell;
|
||||
spelling.entry_aspell_path = entry_aspell_path;
|
||||
spelling.btn_aspell_path = btn_aspell_path;
|
||||
spelling.optmenu_dictionary = optmenu_dictionary;
|
||||
spelling.optmenu_sugmode = sugmode_optmenu;
|
||||
spelling.checkbtn_use_alternate = checkbtn_use_alternate;
|
||||
|
@ -3376,7 +3376,7 @@ static void quote_color_set_dialog(GtkWidget *widget, gpointer data)
|
|||
} else if(g_strcasecmp(type, "TGTFLD") == 0) {
|
||||
title = _("Pick color for target folder");
|
||||
rgbvalue = prefs_common.tgt_folder_col;
|
||||
#if USE_PSPELL
|
||||
#if USE_ASPELL
|
||||
} else if(g_strcasecmp(type, "Misspelled word") == 0) {
|
||||
title = _("Pick color for misspelled word");
|
||||
rgbvalue = prefs_common.misspelled_col;
|
||||
|
@ -3448,7 +3448,7 @@ static void quote_colors_set_dialog_ok(GtkWidget *widget, gpointer data)
|
|||
prefs_common.tgt_folder_col = rgbvalue;
|
||||
set_button_bg_color(color_buttons.tgt_folder_btn, rgbvalue);
|
||||
folderview_set_target_folder_color(prefs_common.tgt_folder_col);
|
||||
#if USE_PSPELL
|
||||
#if USE_ASPELL
|
||||
} else if (g_strcasecmp(type, "Misspelled word") == 0) {
|
||||
prefs_common.misspelled_col = rgbvalue;
|
||||
set_button_bg_color(spelling.misspelled_btn, rgbvalue);
|
||||
|
|
|
@ -96,12 +96,12 @@ struct _PrefsCommon
|
|||
gboolean block_cursor;
|
||||
gchar *quote_chars;
|
||||
|
||||
#if USE_PSPELL
|
||||
gboolean enable_pspell;
|
||||
gchar *pspell_path;
|
||||
#if USE_ASPELL
|
||||
gboolean enable_aspell;
|
||||
gchar *aspell_path;
|
||||
gchar *dictionary;
|
||||
gint misspelled_col;
|
||||
gint pspell_sugmode;
|
||||
gint aspell_sugmode;
|
||||
gboolean check_while_typing;
|
||||
gboolean use_alternate;
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue