forked from AuroraMiddleware/gtk
8439956a9c
2004-10-01 Tor Lillqvist <tml@iki.fi> * gdk/win32/gdkglobals-win32.c: Set _gdk_input_ignore_wintab to FALSE, thus enabling tablet input by default. * gdk/win32/gdkmain-win32.c (_gdk_windowing_args): Accept the --use-wintab option again (but without effect, as this is now the default, see above). (#153788) * modules/input/gtkimcontextime.c: Numerous changes. Remove the ifdef UNICODE conditionals. Always use the wide-character Imm* API. It is present also in Windows 98 and Me. (Not Windows 95, but I think we don't care about that.) Using the multibyte API wouldn't work anyway on systems where the system codepage doesn't support the language the user uses an IME for, so for instance I wouldn't be able to test this module on my English Windows 2000 although I do have C, J and K IMEs available. Guard against IMM not being active, always check ImmGetContext() returning NULL. Work to some extent even without any IME. Fixes #153800 at least partially. * modules/input/imime.c (ime_info): Rename to "ime" to match the naming pattern of other input modules. Make it default for ja:ko:zh only.
68 lines
1.5 KiB
C
68 lines
1.5 KiB
C
/*
|
|
* gtkimmoduleime
|
|
* Copyright (C) 2003 Takuro Ashie
|
|
*
|
|
* 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.
|
|
*
|
|
* $Id$
|
|
*/
|
|
|
|
#include <gtk/gtkimmodule.h>
|
|
#include "gtkimcontextime.h"
|
|
|
|
#include <string.h>
|
|
|
|
static const GtkIMContextInfo ime_info = {
|
|
"ime",
|
|
"Windows IME",
|
|
"gtk+",
|
|
"",
|
|
"ja:ko:zh",
|
|
};
|
|
|
|
static const GtkIMContextInfo *info_list[] = {
|
|
&ime_info,
|
|
};
|
|
|
|
void
|
|
im_module_init (GTypeModule * module)
|
|
{
|
|
gtk_im_context_ime_register_type (module);
|
|
}
|
|
|
|
void
|
|
im_module_exit (void)
|
|
{
|
|
}
|
|
|
|
void
|
|
im_module_list (const GtkIMContextInfo *** contexts, int *n_contexts)
|
|
{
|
|
*contexts = info_list;
|
|
*n_contexts = G_N_ELEMENTS (info_list);
|
|
}
|
|
|
|
GtkIMContext *
|
|
im_module_create (const gchar * context_id)
|
|
{
|
|
g_return_val_if_fail (context_id, NULL);
|
|
|
|
if (!strcmp (context_id, "win32ime"))
|
|
return g_object_new (GTK_TYPE_IM_CONTEXT_IME, NULL);
|
|
else
|
|
return NULL;
|
|
}
|