Exemplo n.º 1
0
static void
search_active_cb(GObject* source,
                 GParamSpec* pspec,
                 gpointer udata)
{
    GtGamesView* self = GT_GAMES_VIEW(udata);
    GtGamesViewPrivate* priv = gt_games_view_get_instance_private(self);

    if (priv->search_active)
        gt_games_view_show_type(self, GT_GAMES_CONTAINER_TYPE_SEARCH);
    else if (priv->was_showing_game)
        gt_games_view_show_type(self, GT_CHANNELS_CONTAINER_TYPE_GAME);
    else
        gt_games_view_show_type(self, GT_GAMES_CONTAINER_TYPE_TOP);
}
Exemplo n.º 2
0
static void
show_view_default_cb(GSimpleAction* action,
                     GVariant* arg,
                     gpointer udata)
{
    GtWin* self = GT_WIN(udata);
    GtWinPrivate* priv = gt_win_get_instance_private(self);

    if (gtk_stack_get_visible_child(GTK_STACK(priv->browse_stack)) == priv->channels_view)
        gt_channels_view_show_type(GT_CHANNELS_VIEW(priv->channels_view), GT_CHANNELS_CONTAINER_TYPE_TOP);
    else if (gtk_stack_get_visible_child(GTK_STACK(priv->browse_stack)) == priv->games_view)
        gt_games_view_show_type(GT_GAMES_VIEW(priv->games_view), GT_GAMES_CONTAINER_TYPE_TOP);
}
Exemplo n.º 3
0
static void
game_activated_cb(GtGamesContainer* container,
                  GtGame* game,
                  gpointer udata)
{
    GtGamesView* self = GT_GAMES_VIEW(udata);
    GtGamesViewPrivate* priv = gt_games_view_get_instance_private(self);
    gchar* name;

    g_object_get(game, "name", &name, NULL);

    gt_channels_container_set_filter_query(GT_CHANNELS_CONTAINER(priv->game_container), name);

    gt_games_view_show_type(self, GT_CHANNELS_CONTAINER_TYPE_GAME);
    
    g_signal_handlers_block_by_func(self, search_active_cb, self);
    g_object_set(self, "search-active", FALSE, NULL);
    g_signal_handlers_unblock_by_func(self, search_active_cb, self);

    g_free(name);
}