Beispiel #1
0
static void
nimf_libhangul_update_transition_cb (NimfLibhangul *hangul)
{
  g_debug (G_STRLOC ": %s", G_STRFUNC);

  if ((g_strcmp0 (hangul->method, "2") == 0) && !hangul->is_auto_reordering)
    hangul_ic_connect_callback (hangul->context, "transition",
                                on_libhangul_transition, NULL);
  else
    hangul_ic_connect_callback (hangul->context, "transition", NULL, NULL);
}
Beispiel #2
0
static void
ibus_hangul_engine_init (IBusHangulEngine *hangul)
{
    IBusProperty* prop;
    IBusText* label;
    IBusText* tooltip;

    hangul->context = hangul_ic_new (hangul_keyboard->str);
    hangul_ic_connect_callback (hangul->context, "transition",
                                ibus_hangul_engine_on_transition, hangul);

    hangul->preedit = ustring_new();
    hangul->hanja_list = NULL;
    hangul->hangul_mode = TRUE;
    hangul->hanja_mode = FALSE;
    hangul->last_lookup_method = LOOKUP_METHOD_PREFIX;

    hangul->prop_list = ibus_prop_list_new ();
    g_object_ref_sink (hangul->prop_list);

    label = ibus_text_new_from_string (_("Hanja lock"));
    tooltip = ibus_text_new_from_string (_("Enable/Disable Hanja mode"));
    prop = ibus_property_new ("hanja_mode",
                              PROP_TYPE_TOGGLE,
                              label,
                              NULL,
                              tooltip,
                              TRUE, TRUE, PROP_STATE_UNCHECKED, NULL);
    g_object_ref_sink (prop);
    ibus_prop_list_append (hangul->prop_list, prop);
    hangul->prop_hanja_mode = prop;

    label = ibus_text_new_from_string (_("Setup"));
    tooltip = ibus_text_new_from_string (_("Configure hangul engine"));
    prop = ibus_property_new ("setup",
                              PROP_TYPE_NORMAL,
                              label,
                              "gtk-preferences",
                              tooltip,
                              TRUE, TRUE, PROP_STATE_UNCHECKED, NULL);
    ibus_prop_list_append (hangul->prop_list, prop);

    hangul->table = ibus_lookup_table_new (9, 0, TRUE, FALSE);
    g_object_ref_sink (hangul->table);

    g_signal_connect (config, "value-changed",
                      G_CALLBACK(ibus_config_value_changed), hangul);
}
QHangulPlatformInputContext::QHangulPlatformInputContext(const QString &keyboardType) {
    int i, n;
    n = hangul_ic_get_n_keyboards();

    m_hic = NULL;
    for(i = 0; i < n; i++) {
        const char *s = hangul_ic_get_keyboard_id(i);
        if (keyboardType == s) {
            m_hic = hangul_ic_new(s);
            break;
        }
    }

    if (m_hic == NULL) {
        m_hic = hangul_ic_new("2");
    }
    hangul_ic_connect_callback(m_hic, "transition", (void*)onTransition, NULL);
    m_candidateList = NULL;
    m_focusObject = NULL;
}