Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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);
    }
}