GsApp * gs_app_tile_get_app (GsAppTile *tile) { GsAppTilePrivate *priv; g_return_val_if_fail (GS_IS_APP_TILE (tile), NULL); priv = gs_app_tile_get_instance_private (tile); return priv->app; }
GsApp * gs_app_tile_get_app (GsAppTile *tile) { GsAppTileClass *klass; g_return_val_if_fail (GS_IS_APP_TILE (tile), NULL); klass = GS_APP_TILE_GET_CLASS (tile); g_assert (klass->get_app); return klass->get_app(tile); }
void gs_app_tile_set_app (GsAppTile *tile, GsApp *app) { GsAppTileClass *klass; g_return_if_fail (GS_IS_APP_TILE (tile)); g_return_if_fail (!app || GS_IS_APP (app)); klass = GS_APP_TILE_GET_CLASS (tile); g_assert (klass->get_app); klass->set_app(tile, app); }
void gs_app_tile_set_app (GsAppTile *tile, GsApp *app) { GsAppTilePrivate *priv; const gchar *summary; g_return_if_fail (GS_IS_APP_TILE (tile)); g_return_if_fail (GS_IS_APP (app) || app == NULL); priv = gs_app_tile_get_instance_private (tile); gtk_image_clear (GTK_IMAGE (priv->image)); gtk_image_set_pixel_size (GTK_IMAGE (priv->image), 64); if (priv->app) g_signal_handlers_disconnect_by_func (priv->app, app_state_changed, tile); g_clear_object (&priv->app); if (!app) return; priv->app = g_object_ref (app); if (gs_app_get_rating_kind (priv->app) == GS_APP_RATING_KIND_USER) { gs_star_widget_set_rating (GS_STAR_WIDGET (priv->stars), GS_APP_RATING_KIND_USER, gs_app_get_rating (priv->app)); } else { gs_star_widget_set_rating (GS_STAR_WIDGET (priv->stars), GS_APP_RATING_KIND_KUDOS, gs_app_get_kudos_percentage (priv->app)); } gtk_stack_set_visible_child_name (GTK_STACK (priv->stack), "content"); g_signal_connect (priv->app, "notify::state", G_CALLBACK (app_state_changed), tile); app_state_changed (priv->app, NULL, tile); gs_image_set_from_pixbuf (GTK_IMAGE (priv->image), gs_app_get_pixbuf (app)); gtk_label_set_label (GTK_LABEL (priv->name), gs_app_get_name (app)); summary = gs_app_get_summary (app); gtk_label_set_label (GTK_LABEL (priv->summary), summary); gtk_widget_set_visible (priv->summary, summary && summary[0]); }