コード例 #1
0
static void
hippo_canvas_block_music_set_block(HippoCanvasBlock *canvas_block,
                                   HippoBlock       *block)
{
    /* g_debug("canvas-block-music-person set block %p", block); */

    if (block == canvas_block->block)
        return;

    if (canvas_block->block != NULL) {
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_user_changed),
                                             canvas_block);
    }

    /* Chain up to get the block really changed */
    HIPPO_CANVAS_BLOCK_CLASS(hippo_canvas_block_music_parent_class)->set_block(canvas_block, block);

    if (canvas_block->block != NULL) {
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::user",
                         G_CALLBACK(on_user_changed),
                         canvas_block);

        on_user_changed(canvas_block->block, NULL,
                        HIPPO_CANVAS_BLOCK_MUSIC(canvas_block));
    }
}
コード例 #2
0
static void
hippo_canvas_block_facebook_event_set_block(HippoCanvasBlock *canvas_block,
                                             HippoBlock       *block)
{
    /* g_debug("canvas-block-facebook-person set block %p", block); */

    if (block == canvas_block->block)
        return;

    if (canvas_block->block != NULL) {
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_user_changed),
                                             canvas_block);
        set_person(HIPPO_CANVAS_BLOCK_FACEBOOK_EVENT(canvas_block), NULL);

        g_signal_handlers_disconnect_by_func(G_OBJECT(HIPPO_BLOCK_FACEBOOK_EVENT(canvas_block->block)),
                                             G_CALLBACK(on_title_changed),
                                             canvas_block);
        hippo_canvas_block_set_title(canvas_block, NULL, NULL, FALSE);
    }

    /* Chain up to get the block really changed */
    HIPPO_CANVAS_BLOCK_CLASS(hippo_canvas_block_facebook_event_parent_class)->set_block(canvas_block, block);

    if (canvas_block->block != NULL) {
        HippoThumbnails *thumbnails;

        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::user",
                         G_CALLBACK(on_user_changed),
                         canvas_block);

        g_signal_connect(G_OBJECT(HIPPO_BLOCK_FACEBOOK_EVENT(canvas_block->block)),
                         "notify::title",
                         G_CALLBACK(on_title_changed),
                         canvas_block);

        on_user_changed(canvas_block->block, NULL,
                        HIPPO_CANVAS_BLOCK_FACEBOOK_EVENT(canvas_block));
        
        on_title_changed(HIPPO_BLOCK_FACEBOOK_EVENT(canvas_block->block), NULL,
                         HIPPO_CANVAS_BLOCK_FACEBOOK_EVENT(canvas_block));

        thumbnails = hippo_block_facebook_event_get_thumbnails(HIPPO_BLOCK_FACEBOOK_EVENT(canvas_block->block));
        if (thumbnails != NULL) {
            g_object_set(HIPPO_CANVAS_BLOCK_FACEBOOK_EVENT(canvas_block)->thumbnails,
                         "thumbnails", thumbnails,
                         NULL);        
            if (hippo_thumbnails_get_count(thumbnails) <= 0)
                canvas_block->expandable = FALSE;
        } else {
            canvas_block->expandable = FALSE;
        }
    }
}
コード例 #3
0
static void
hippo_canvas_block_music_set_block(HippoCanvasBlock *canvas_block,
                                   HippoBlock       *block)
{
    HippoCanvasBlockMusic *block_music = HIPPO_CANVAS_BLOCK_MUSIC(canvas_block);

    /* g_debug("canvas-block-music-person set block %p", block); */

    if (block == canvas_block->block)
        return;

    if (canvas_block->block != NULL) {
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_user_changed),
                                             canvas_block);
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_block_chat_id_changed),
                                             canvas_block);
    }

    /* Chain up to get the block really changed */
    HIPPO_CANVAS_BLOCK_CLASS(hippo_canvas_block_music_parent_class)->set_block(canvas_block, block);

    g_object_set(G_OBJECT(block_music->quipper),
                 "block", canvas_block->block,
                 NULL);
    g_object_set(G_OBJECT(block_music->last_message_preview),
                 "block", canvas_block->block,
                 NULL);
    g_object_set(G_OBJECT(block_music->chat_preview),
                 "block", canvas_block->block,
                 NULL);

    if (canvas_block->block != NULL) {
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::user",
                         G_CALLBACK(on_user_changed),
                         canvas_block);
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::chat-id",
                         G_CALLBACK(on_block_chat_id_changed),
                         canvas_block);

    }
    
    on_user_changed(canvas_block->block, NULL, block_music);
    hippo_canvas_block_music_update_visibility(block_music);
}
コード例 #4
0
static void on_completed(PolkitAgentSession* session, gboolean authorized, DlgData* data)
{
    DEBUG("on_complete");
    gtk_widget_set_sensitive(data->dlg, TRUE);

    if(!authorized && !g_cancellable_is_cancelled(data->cancellable))
    {
        /* lxsession_show_msg(data->dlg, GTK_MESSAGE_ERROR, _("Authentication failed!\nWrong password?")); */
        /* initiate a new session */
        g_object_unref(data->session);
        data->session = NULL;
        gtk_entry_set_text(data->request, "");
        gtk_widget_grab_focus(data->request);
        on_user_changed(data->id, data);
        return;
    }
    g_simple_async_result_complete(data->result);
    dlg_data_free(data);
}
コード例 #5
0
static void
hippo_canvas_block_netflix_movie_set_block(HippoCanvasBlock *canvas_block,
                                           HippoBlock       *block)
{
    HippoCanvasBlockNetflixMovie *block_netflix = HIPPO_CANVAS_BLOCK_NETFLIX_MOVIE(canvas_block);

    if (block == canvas_block->block)
        return;

    if (canvas_block->block != NULL) {
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_user_changed),
                                             canvas_block);
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_block_description_changed),
                                             canvas_block);                                             
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_block_chat_id_changed),
                                             canvas_block);
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_block_queue_changed),
                                             canvas_block);
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_block_image_url_changed),
                                             canvas_block);
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_block_title_changed),
                                             canvas_block);
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_block_title_link_changed),
                                             canvas_block);
        g_signal_handlers_disconnect_by_func(G_OBJECT(canvas_block->block),
                                             G_CALLBACK(on_block_icon_url_changed),
                                             canvas_block);
        set_person(HIPPO_CANVAS_BLOCK_NETFLIX_MOVIE(canvas_block), NULL);
    }

    /* Chain up to get the block really changed */
    HIPPO_CANVAS_BLOCK_CLASS(hippo_canvas_block_netflix_movie_parent_class)->set_block(canvas_block, block);

    g_object_set(block_netflix->quipper,
                 "block", canvas_block->block,
                 NULL);
    g_object_set(block_netflix->last_message_preview,
                 "block", canvas_block->block,
                 NULL);
    g_object_set(block_netflix->chat_preview,
                 "block", canvas_block->block,
                 NULL);
    
    if (canvas_block->block != NULL) {
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::user",
                         G_CALLBACK(on_user_changed),
                         canvas_block);
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::description",
                         G_CALLBACK(on_block_description_changed),
                         canvas_block);                         
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::chat-id",
                         G_CALLBACK(on_block_chat_id_changed),
                         canvas_block);
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::queue",
                         G_CALLBACK(on_block_queue_changed),
                         canvas_block);
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::image-url",
                         G_CALLBACK(on_block_image_url_changed),
                         canvas_block);
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::title",
                         G_CALLBACK(on_block_title_changed),
                         canvas_block);
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::title-link",
                         G_CALLBACK(on_block_title_link_changed),
                         canvas_block);
        g_signal_connect(G_OBJECT(canvas_block->block),
                         "notify::icon-url",
                         G_CALLBACK(on_block_icon_url_changed),
                         canvas_block);
    }

    on_user_changed(canvas_block->block, NULL, block_netflix);
    on_block_description_changed(canvas_block->block, NULL, block_netflix);
    on_block_chat_id_changed(canvas_block->block, NULL, block_netflix);
    on_block_queue_changed(canvas_block->block, NULL, block_netflix);
    on_block_image_url_changed(canvas_block->block, NULL, block_netflix);
    on_block_title_changed(canvas_block->block, NULL, block_netflix);
    on_block_title_link_changed(canvas_block->block, NULL, block_netflix);
    on_block_icon_url_changed(canvas_block->block, NULL, block_netflix);
}