void XimServer::customContext(const char *custom, const char *val) { std::list<InputContext *>::iterator it; for (it = ic_list.begin(); it != ic_list.end(); ++it) { (*it)->customContext(custom, val); break; } // Updated global IM of XimServer if (!strcmp(custom, "custom-preserved-default-im-name") && uim_scm_symbol_value_bool("custom-activate-default-im-name?")) set_im(++val); #if HAVE_XFT_UTF8_STRING if (!strcmp(custom, "uim-xim-xft-font-name")) update_default_xftfont(); #endif if (!strcmp(custom, "bridge-show-input-state?") && !uim_scm_symbol_value_bool("bridge-show-input-state?")) { Canddisp *disp = canddisp_singleton(); disp->hide_caret_state(); } if (!strcmp(custom, "candidate-window-position")) check_candwin_pos_type(); if (!strcmp(custom, "candidate-window-style")) check_candwin_style(); }
void XimServer::reloadConfigs() { #if 1 uim_prop_reload_configs(); reload_uim(0); #else reload_uim(1); #endif // Updated global IM of XimServer char *im = uim_scm_symbol_value_str("default-im-name"); if (im) set_im(im); free(im); #if HAVE_XFT_UTF8_STRING update_default_xftfont(); #endif if (!uim_scm_symbol_value_bool("bridge-show-input-state?")) { Canddisp *disp = canddisp_singleton(); disp->hide_caret_state(); } check_candwin_style(); check_candwin_pos_type(); }
void XimServer::changeContext(const char *engine) { set_im(engine); std::list<InputContext *>::iterator it; for (it = ic_list.begin(); it != ic_list.end(); ++it) { (*it)->changeContext(engine); } // make sure to use appropriate locale for the focused context InputContext *focusedContext = InputContext::focusedContext(); if (focusedContext) focusedContext->focusIn(); }
static gint gtk_panda_text_focus_in (GtkWidget *widget, GdkEventFocus *event) { GtkPandaText *ptext; g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_TEXT_VIEW (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); ptext = GTK_PANDA_TEXT(widget); if (GTK_WIDGET_CLASS(parent_class)->focus_in_event) { (*GTK_WIDGET_CLASS(parent_class)->focus_in_event)(widget,event); } if (ptext->xim_enabled) { set_im(widget); } else { unset_im(widget); } return FALSE; }