void _fcitx_wizard_im_dialog_connect(FcitxWizardImDialog* self) { int i; GError* error = NULL; if (self->owner->im_dialog_array == NULL) { self->improxy = fcitx_input_method_new(G_BUS_TYPE_SESSION, G_DBUS_PROXY_FLAGS_NONE, fcitx_utils_get_display_number(), NULL, &error ); if (self->improxy == NULL) { g_error_free(error); return; } self->owner->im_dialog_array = fcitx_input_method_get_imlist(self->improxy); if (self->owner->im_dialog_array_del != NULL) { for (i = 0; i < self->owner->im_dialog_array_del->len; i += 1) { g_ptr_array_add(self->owner->im_dialog_array, g_ptr_array_index(self->owner->im_dialog_array_del, i)); } } } _fcitx_wizard_im_dialog_load(self); }
void _fcitx_im_dialog_connect(FcitxImDialog* self) { GError* error = NULL; self->improxy = fcitx_input_method_new(G_BUS_TYPE_SESSION, G_DBUS_PROXY_FLAGS_NONE, fcitx_utils_get_display_number(), NULL, &error ); if (self->improxy == NULL) { g_error_free(error); return; } g_signal_connect(self->improxy, "imlist-changed", G_CALLBACK(_fcitx_im_dialog_imlist_changed_cb), self); _fcitx_im_dialog_load(self); }
void fcitx_ui_widget_connect(FcitxUIWidget* self) { GError* error = NULL; self->improxy = fcitx_input_method_new(G_BUS_TYPE_SESSION, G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, fcitx_utils_get_display_number(), NULL, &error ); if (self->improxy == NULL) { g_error_free(error); return; } gchar* uiname = fcitx_input_method_get_current_ui(self->improxy); if (uiname) { _fcitx_ui_widget_load(self, uiname); g_free(uiname); } }